{"meta":{"title":"Déploiement sur Azure Kubernetes Service","intro":"Découvrez comment déployer un projet sur Azure Kubernetes Service (AKS) dans le cadre d’un flux de travail de déploiement continu (CD).","product":"GitHub Actions","breadcrumbs":[{"href":"/fr/actions","title":"GitHub Actions"},{"href":"/fr/actions/how-tos","title":"Guides pratiques"},{"href":"/fr/actions/how-tos/deploy","title":"Déployer"},{"href":"/fr/actions/how-tos/deploy/deploy-to-third-party-platforms","title":"Déployer sur des plateformes tierces"},{"href":"/fr/actions/how-tos/deploy/deploy-to-third-party-platforms/azure-kubernetes-service","title":"Azure Kubernetes Service"}],"documentType":"article"},"body":"# Déploiement sur Azure Kubernetes Service\n\nDécouvrez comment déployer un projet sur Azure Kubernetes Service (AKS) dans le cadre d’un flux de travail de déploiement continu (CD).\n\n## Prérequis\n\nAvant de créer votre workflow GitHub Actions, vous devez suivre les étapes de configuration suivantes :\n\n1. Créez un cluster AKS cible et un Azure Container Registry (ACR). Pour plus d’informations, voir [Guide de démarrage rapide : Déployer un cluster AKS en utilisant le portail Azure - Service Azure Kubernetes](https://docs.microsoft.com/azure/aks/kubernetes-walkthrough-portal) et [Guide de démarrage rapide - Créer un registre dans le portail - Registre de conteneur Azure](https://docs.microsoft.com/azure/container-registry/container-registry-get-started-portal) dans la documentation Azure.\n\n1. Créez un secret appelé `AZURE_CREDENTIALS` pour stocker vos informations d’identification Azure. Pour plus d’informations sur la recherche de ces informations et la structure du secret, consultez [ la documentation de l’action `Azure/login`](https://github.com/Azure/login#configure-a-service-principal-with-a-secret).\n\n## Création du workflow\n\nUne fois les conditions préalables remplies, vous pouvez procéder à la création du workflow.\n\nL’exemple de flux de travail suivant montre comment générer et déployer un projet sur Azure Kubernetes Service lorsque le code est envoyé (push) à votre référentiel.\n\nSous la clé `env` de workflow, remplacez les valeurs suivantes :\n* `AZURE_CONTAINER_REGISTRY` au nom de votre registre de conteneurs\n* `PROJECT_NAME` au nom de votre projet\n* `RESOURCE_GROUP` au groupe de ressources contenant votre cluster AKS\n* `CLUSTER_NAME` dans le nom de votre cluster AKS\n\nCe flux de travail utilise le moteur de rendu `helm` pour l’action [`azure/k8s-bake`](https://github.com/Azure/k8s-bake). Si vous envisagez d’utiliser le moteur de rendu `helm`, remplacez la valeur de `CHART_PATH` par le chemin d’accès à votre fichier helm. Remplacez `CHART_OVERRIDE_PATH` par un tableau de chemins de fichiers de remplacement. Si vous utilisez un autre moteur de rendu, mettez à jour les paramètres d’entrée envoyés à l’action `azure/k8s-bake`.\n\n```yaml copy\n# Ce workflow utilise des actions qui ne sont pas certifiées par GitHub.\n# Elles sont fournies par un tiers et régies par\n# des conditions d’utilisation du service, une politique de confidentialité et un support distincts.\n# documentation en ligne.\n\n# GitHub recommande d’épingler les actions à un SHA de commit.\n# Pour obtenir une version plus récente, vous devez mettre à jour le SHA.\n# Vous pouvez également référencer une balise ou une branche, mais l’action peut changer sans avertissement.\n\nname: Build and deploy to Azure Kubernetes Service\n\nenv:\n  AZURE_CONTAINER_REGISTRY: MY_REGISTRY_NAME # set this to the name of your container registry\n  PROJECT_NAME: MY_PROJECT_NAME              # set this to your project's name\n  RESOURCE_GROUP: MY_RESOURCE_GROUP          # set this to the resource group containing your AKS cluster\n  CLUSTER_NAME: MY_CLUSTER_NAME              # set this to the name of your AKS cluster\n  REGISTRY_URL: MY_REGISTRY_URL              # set this to the URL of your registry\n  # If you bake using helm:\n  CHART_PATH: MY_HELM_FILE                   # set this to the path to your helm file\n  CHART_OVERRIDE_PATH: MY_OVERRIDE_FILES     # set this to an array of override file paths\n\non: [push]\n\njobs:\n  build:\n    runs-on: ubuntu-latest\n    steps:\n    - uses: actions/checkout@v6\n\n    - name: Azure Login\n      uses: azure/login@14a755a4e2fd6dff25794233def4f2cf3f866955\n      with:\n        creds: ${{ secrets.AZURE_CREDENTIALS }}\n\n    - name: Build image on ACR\n      uses: azure/CLI@61bb69d64d613b52663984bf12d6bac8fd7b3cc8\n      with:\n        azcliversion: 2.29.1\n        inlineScript: |\n          az configure --defaults acr=${{ env.AZURE_CONTAINER_REGISTRY }}\n          az acr build -t -t ${{ env.REGISTRY_URL }}/${{ env.PROJECT_NAME }}:${{ github.sha }}\n\n    - name: Gets K8s context\n      uses: azure/aks-set-context@94ccc775c1997a3fcfbfbce3c459fec87e0ab188\n      with:\n          creds: ${{ secrets.AZURE_CREDENTIALS }}\n          resource-group: ${{ env.RESOURCE_GROUP }}\n          cluster-name: ${{ env.CLUSTER_NAME }}\n      id: login\n\n    - name: Configure deployment\n      uses: azure/k8s-bake@61041e8c2f75c1f01186c8f05fb8b24e1fc507d8\n      with:\n        renderEngine: 'helm'\n        helmChart: ${{ env.CHART_PATH }}\n        overrideFiles: ${{ env.CHART_OVERRIDE_PATH }}\n        overrides: |\n          replicas:2\n        helm-version: 'latest'\n      id: bake\n\n    - name: Deploys application\n      uses: Azure/k8s-deploy@dd4bbd13a5abd2fc9ca8bdcb8aee152bb718fa78\n      with:\n        manifests: ${{ steps.bake.outputs.manifestsBundle }}\n        images: |\n          ${{ env.AZURE_CONTAINER_REGISTRY }}.azurecr.io/${{ env.PROJECT_NAME }}:${{ github.sha }}\n        imagepullsecrets: |\n          ${{ env.PROJECT_NAME }}\n```\n\n## Pour aller plus loin\n\n* Pour le modèle de workflow d’origine, consultez [`azure-kubernetes-service.yml`](https://github.com/actions/starter-workflows/blob/main/deployments/azure-kubernetes-service.yml) dans le référentiel GitHub Actions `starter-workflows`.\n* Les actions utilisées dans ce flux de travail sont les actions officielles Azure [`Azure/login`](https://github.com/Azure/login), [`Azure/aks-set-context`](https://github.com/Azure/aks-set-context), [`Azure/CLI`](https://github.com/Azure/CLI), [`Azure/k8s-bake`](https://github.com/Azure/k8s-bake) et [`Azure/k8s-deploy`](https://github.com/Azure/k8s-deploy).\n* Pour plus d’exemples de flux de travail d’action GitHub qui se déploient sur Azure, consultez le référentiel [actions-workflow-samples](https://github.com/Azure/actions-workflow-samples)."}