Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Dans ce guide de démarrage rapide, vous allez apprendre à créer un workflow GitHub pour publier votre application .NET à partir du code source. La publication automatique de votre application .NET à partir de GitHub vers une destination est appelée déploiement continu (CD). Il existe de nombreuses destinations possibles pour publier une application, dans ce guide de démarrage rapide, vous allez publier sur Azure.
Prerequisites
- Un compte GitHub.
- Référentiel de code source .NET.
- Un compte Azure avec un abonnement actif. Créez un compte gratuitement.
- Une application web ASP.NET Core.
- Ressource Azure App Service.
Ajouter un profil de publication
Pour publier l’application sur Azure, ouvrez le portail Azure pour l’instance App Service de l’application. Dans la vue d’ensemble de la ressource, sélectionnez Obtenir le profil de publication et enregistrez le *.PublishSetting localement.
Avertissement
Le profil de publication contient des informations sensibles, telles que des informations d’identification pour accéder à votre ressource Azure App Service. Ces informations doivent toujours être traitées très soigneusement.
Dans le référentiel GitHub, accédez à Paramètres et sélectionnez Secrets dans le menu de navigation de gauche. Sélectionnez Nouveau secret de référentiel pour ajouter un nouveau secret.
Entrez AZURE_PUBLISH_PROFILE comme Nom, et collez le contenu XML du profil de publication dans la zone de texte Valeur. Sélectionnez Ajouter un secret. Pour plus d’informations, consultez Secrets chiffrés.
Créer un fichier de flux de travail
Dans le référentiel GitHub, ajoutez un nouveau fichier YAML au répertoire .github/workflows . Choisissez un nom de fichier explicite, ce qui indiquera clairement ce que le flux de travail est destiné à faire. Pour plus d’informations, consultez le fichier de flux de travail.
Important
GitHub nécessite que les fichiers de composition de flux de travail soient placés dans le répertoire .github/workflows .
Les fichiers de flux de travail définissent généralement une composition d’une ou plusieurs actions GitHub via le jobs.<job_id>/steps[*]. Pour plus d’informations, consultez la syntaxe du flux de travail pour GitHub Actions.
Créez un fichier nommé publish-app.yml, copiez et collez le contenu YML suivant :
name: publish
on:
push:
branches: [ production ]
env:
AZURE_WEBAPP_NAME: DotNetWeb
AZURE_WEBAPP_PACKAGE_PATH: '.' # Set this to the path to your web app project, defaults to the repository root:
DOTNET_VERSION: '6.0.401' # The .NET SDK version to use
jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup .NET Core
uses: actions/setup-dotnet@v3
with:
dotnet-version: ${{ env.DOTNET_VERSION }}
- name: Install dependencies
run: dotnet restore
- name: Build
run: |
cd DotNet.WebApp
dotnet build --configuration Release --no-restore
dotnet publish -c Release -o ../dotnet-webapp -r linux-x64 --self-contained true /p:UseAppHost=true
- name: Test
run: |
cd DotNet.WebApp.Tests
dotnet test --no-restore --verbosity normal
- uses: azure/webapps-deploy@v2
name: Deploy
with:
app-name: ${{ env.AZURE_WEBAPP_NAME }}
publish-profile: ${{ secrets.AZURE_PUBLISH_PROFILE }}
package: '${{ env.AZURE_WEBAPP_PACKAGE_PATH }}/dotnet-webapp'
Dans la composition du flux de travail précédente :
Le nom est défini par
name: publish, et « publier » apparaîtra dans les badges de statut du flux de travail.name: publishLe
onnœud signifie les événements qui déclenchent le flux de travail :on: push: branches: [ production ]- Déclenché lorsqu’un
pushse produit dans la brancheproduction.
- Déclenché lorsqu’un
Le
envnœud définit des variables d’environnement nommées (env var).env: AZURE_WEBAPP_NAME: DotNetWeb AZURE_WEBAPP_PACKAGE_PATH: '.' # Set this to the path to your web app project, defaults to the repository root: DOTNET_VERSION: '6.0.401' # The .NET SDK version to use- La variable
AZURE_WEBAPP_NAMEd’environnement est affectée à la valeurDotNetWeb. - La variable
AZURE_WEBAPP_PACKAGE_PATHd’environnement est affectée à la valeur'.'. - La variable
DOTNET_VERSIONd’environnement est affectée à la valeur'6.0.401'. La variable d’environnement est ultérieurement référencée pour spécifier l’actiondotnet-versionactions/setup-dotnet@v3GitHub.
- La variable
Le
jobsnœud génère les étapes à suivre pour le flux de travail.jobs: publish: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Setup .NET Core uses: actions/setup-dotnet@v3 with: dotnet-version: ${{ env.DOTNET_VERSION }} - name: Install dependencies run: dotnet restore - name: Build run: | cd DotNet.WebApp dotnet build --configuration Release --no-restore dotnet publish -c Release -o ../dotnet-webapp -r linux-x64 --self-contained true /p:UseAppHost=true - name: Test run: | cd DotNet.WebApp.Tests dotnet test --no-restore --verbosity normal - uses: azure/webapps-deploy@v2 name: Deploy with: app-name: ${{ env.AZURE_WEBAPP_NAME }} publish-profile: ${{ secrets.AZURE_PUBLISH_PROFILE }} package: '${{ env.AZURE_WEBAPP_PACKAGE_PATH }}/dotnet-webapp'- Il existe un seul travail nommé
publishqui s’exécutera sur la dernière version d’Ubuntu. - L’action
actions/setup-dotnet@v3GitHub est utilisée pour configurer le Kit de développement logiciel (SDK) .NET avec la version spécifiée à partir de la variable d’environnementDOTNET_VERSION. - La
dotnet restorecommande est appelée. - La
dotnet buildcommande est appelée. - La
dotnet publishcommande est appelée. - La
dotnet testcommande est appelée. - L’action
azure/webapps-deploy@v2GitHub déploie l’application avec les valeurs donnéespublish-profileetpackage.- Le
publish-profileest attribué à partir du secret du dépôtAZURE_PUBLISH_PROFILE.
- Le
- Il existe un seul travail nommé
Créer un badge d’état de flux de travail
Il est courant que les référentiels GitHub disposent d’un fichier README.md à la racine du répertoire du référentiel. De même, il est agréable de signaler l’état le plus récent pour différents flux de travail. Tous les flux de travail peuvent générer un badge d’état, visuellement attrayant dans le fichier README.md . Pour ajouter le badge d’état du flux de travail :
Dans le référentiel GitHub, sélectionnez l’option de navigation Actions .
Tous les flux de travail du référentiel s’affichent à gauche, sélectionnez le flux de travail souhaité et le bouton ellipsis (...).
- Le bouton d'ellipse (...) augmente les options de menu du flux de travail sélectionné.
Sélectionnez l’option de menu Créer un badge d’état .
Sélectionnez le bouton Copier le badge d'état en Markdown.
Collez le Markdown dans le fichier README.md, enregistrez le fichier, commitez et envoyez les modifications.
Pour plus d’informations, consultez Ajout d’un badge d’état de flux de travail.
Exemple de badge d’état du flux de travail de publication
| Passage | Échec | Aucun état |
|---|---|---|
|
|
|
|