Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In deze quickstart leert u hoe u een GitHub-werkstroom maakt om uw .NET-app te publiceren op basis van broncode. Het automatisch publiceren van uw .NET-app van GitHub naar een bestemming wordt een continue implementatie (CD) genoemd. Er zijn veel mogelijke bestemmingen om een toepassing te publiceren. In deze quickstart publiceert u naar Azure.
Vereiste voorwaarden
- Een GitHub-account.
- Een .NET-broncodeopslagplaats.
- Een Azure-account met een actief abonnement. Gratis een account maken
- Een ASP.NET Core-web-app.
- Een Azure App Service-resource.
Publicatieprofiel toevoegen
Als u de app naar Azure wilt publiceren, opent u Azure Portal voor het App Service-exemplaar van de toepassing. In het resourceoverzicht selecteer Publicatieprofiel ophalen en sla het *.PublishSetting-bestand lokaal op.
Waarschuwing
Het publicatieprofiel bevat gevoelige informatie, zoals referenties voor toegang tot uw Azure App Service-resource. Deze informatie moet altijd zorgvuldig worden behandeld.
Navigeer in de GitHub-opslagplaats naar Instellingen en selecteer Geheimen in het linkernavigatiemenu. Selecteer Nieuw opslagplaatsgeheim om een nieuw geheim toe te voegen.
Voer AZURE_PUBLISH_PROFILE als de Naam in en plak de XML-inhoud van het publicatieprofiel in het Waarde tekstgebied. Selecteer Geheim toevoegen. Zie Versleutelde geheimen voor meer informatie.
Een werkstroombestand maken
Voeg in de GitHub-opslagplaats een nieuw YAML-bestand toe aan de map .github/workflows . Kies een betekenisvolle bestandsnaam, iets dat duidelijk aangeeft wat de werkstroom moet doen. Zie Werkstroombestand voor meer informatie.
Belangrijk
GitHub vereist dat werkstroomsamenstellingsbestanden in de map .github/workflows worden geplaatst.
Werkstroombestanden definiëren doorgaans een samenstelling van een of meer GitHub Action via de jobs.<job_id>/steps[*]. Zie de werkstroomsyntaxis voor GitHub Actions voor meer informatie.
Maak een nieuw bestand met de naam publish-app.yml, kopieer en plak de volgende YML-inhoud erin:
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'
In de voorgaande werkstroomsamenstelling:
De
name: publishnaam wordt gedefinieerd, 'publiceren' wordt weergegeven in werkstroomstatusbadges.name: publishHet
onknooppunt geeft de gebeurtenissen aan die de werkstroom activeren:on: push: branches: [ production ]- Geactiveerd wanneer er een
pushoptreedt op deproductiontak.
- Geactiveerd wanneer er een
Het
envknooppunt definieert benoemde omgevingsvariabelen (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- De omgevingsvariabele
AZURE_WEBAPP_NAMEwordt de waardeDotNetWebtoegewezen. - De omgevingsvariabele
AZURE_WEBAPP_PACKAGE_PATHwordt de waarde'.'toegewezen. - De omgevingsvariabele
DOTNET_VERSIONwordt de waarde'6.0.401'toegewezen. Er wordt later naar de omgevingsvariabele verwezen om dedotnet-versionactions/setup-dotnet@v3GitHub Action op te geven.
- De omgevingsvariabele
Het
jobsknooppunt bouwt de stappen uit die de werkstroom moet uitvoeren.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'- Er is één taak genaamd
publishdie op de nieuwste versie van Ubuntu zal draaien. - De
actions/setup-dotnet@v3GitHub Action wordt gebruikt om de .NET SDK in te stellen met de opgegeven versie van deDOTNET_VERSIONomgevingsvariabele. - De
dotnet restoreopdracht wordt aangeroepen. - De
dotnet buildopdracht wordt aangeroepen. - De
dotnet publishopdracht wordt aangeroepen. - De
dotnet testopdracht wordt aangeroepen. - De
azure/webapps-deploy@v2GitHub Action implementeert de app met de opgegevenpublish-profileenpackage.- Het
publish-profileis toegewezen vanuit hetAZURE_PUBLISH_PROFILEopslagplaatsgeheim.
- Het
- Er is één taak genaamd
Maak een werkstroomstatusbadge
Het is gebruikelijk dat GitHub-opslagplaatsen een README.md-bestand hebben in de hoofdmap van de opslagplaatsmap. Op dezelfde manier is het handig om de meest recente status voor verschillende werkstromen te rapporteren. Alle werkstromen kunnen een statusbadge genereren, die visueel aantrekkelijk zijn in het README.md-bestand . De werkstroomstatus-badge toevoegen:
Selecteer in de GitHub-opslagplaats de optie Actiesnavigatie .
Alle werkstromen van de opslagplaats worden aan de linkerkant weergegeven, selecteer de gewenste werkstroom en de knop met het beletselteken (...).
- Met de knop met het beletselteken (...) worden de menuopties voor de geselecteerde werkstroom uitgevouwen.
Selecteer de menuoptie Statusbadge maken .
Selecteer de knop Status-badge Markdown kopiëren.
Plak de Markdown in het README.md bestand, sla het bestand op, voer de wijzigingen door en push deze.
Zie Een workflowstatus-badge toevoegen voor meer.
Voorbeeld badge werkstroomstatus publiceren
| Voorbijgaand | Mislukt | Geen status |
|---|---|---|
|
|
|
|