Module 1 : Introduction à Azure DevOps

Qu'est-ce que DevOps ?

DevOps est une culture et un ensemble de pratiques qui combinent le développement (Dev) et les opérations (Ops) :


+----------------------------------------------------------+
|                    CYCLE DEVOPS                           |
+----------------------------------------------------------+
|                                                           |
|        PLAN --> CODE --> BUILD --> TEST                  |
|          ^                            |                   |
|          |                            v                   |
|       MONITOR <-- OPERATE <-- DEPLOY <-- RELEASE         |
|                                                           |
+----------------------------------------------------------+
            
Principes clés :
  • Intégration Continue (CI) : Merger fréquemment le code
  • Déploiement Continu (CD) : Déployer automatiquement
  • Infrastructure as Code : Gérer l'infra comme du code
  • Monitoring : Observer et améliorer en continu

Azure DevOps Services


+----------------------------------------------------------+
|                    AZURE DEVOPS                           |
+----------------------------------------------------------+
|                                                           |
|   Azure Boards    : Gestion de projet agile              |
|   Azure Repos     : Repositories Git                     |
|   Azure Pipelines : CI/CD automatisé                     |
|   Azure Artifacts : Gestion des packages                 |
|   Azure Test Plans: Tests manuels et automatisés         |
|                                                           |
+----------------------------------------------------------+
            

Créer une organisation

Une organisation Azure DevOps regroupe vos projets :

  1. Aller sur https://dev.azure.com
  2. Se connecter avec un compte Microsoft/Azure AD
  3. Créer une nouvelle organisation
  4. Choisir la région (West Europe pour DataLab)
# Structure recommandée DataLab
Organisation: mycompany-folab
    |
    +-- Projet: FOLAB-Data
    |       +-- Repos: synapse-pipelines
    |       +-- Repos: pyspark-notebooks
    |       +-- Repos: power-bi-reports
    |
    +-- Projet: FOLAB-Apps
            +-- Repos: esg-api
            +-- Repos: perf-frontend

Créer un projet

# Via Azure CLI (PowerShell)
az devops project create --name "FOLAB-Data" --org https://dev.azure.com/mycompany-folab --process Agile --source-control git --visibility private

# Lister les projets
az devops project list --org https://dev.azure.com/mycompany-folab --output table
Version Bash (cliquez pour afficher)
# Via Azure CLI (Bash)
az devops project create \
    --name "FOLAB-Data" \
    --org https://dev.azure.com/mycompany-folab \
    --process Agile \
    --source-control git \
    --visibility private

# Lister les projets
az devops project list \
    --org https://dev.azure.com/mycompany-folab \
    --output table

Process Templates

Template Work Items Usage
Agile User Story, Task, Bug Équipes Agile (recommandé)
Scrum PBI, Task, Bug Méthodologie Scrum stricte
CMMI Requirement, Task, Bug Environnements réglementés
Basic Issue, Task Projets simples

Permissions et sécurité

# Niveaux de permissions
Organisation
    +-- Project Collection Administrators (admins globaux)
    +-- Project Collection Build Administrators

Projet
    +-- Project Administrators
    +-- Contributors (membres de l'équipe)
    +-- Readers (lecture seule)
    +-- Build Administrators
    +-- Release Administrators
Bonnes pratiques DataLab :
  • Un projet par domaine métier (Data, Apps, Infra)
  • Utiliser des groupes Azure AD pour les permissions
  • Activer les branch policies dès le début
  • Configurer les notifications d'équipe

Azure CLI pour DevOps

# Installer l'extension
az extension add --name azure-devops

# Se connecter
az devops login --org https://dev.azure.com/mycompany-folab

# Configurer l'organisation par défaut
az devops configure --defaults organization=https://dev.azure.com/mycompany-folab project=FOLAB-Data

# Commandes utiles
az boards work-item show --id 123
az repos list
az pipelines list