Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V tomto rychlém startu se dozvíte, jak vytvořit pracovní postup GitHubu pro publikování aplikace .NET ze zdrojového kódu. Automatické publikování aplikace .NET z GitHubu do cíle se označuje jako průběžné nasazování (CD). Aplikaci můžete publikovat do mnoha možných cílů. V tomto rychlém úvodu publikujete na Azure.
Požadavky
- Účet GitHub.
- Úložiště zdrojového kódu .NET.
- Účet Azure s aktivním předplatným. Vytvořte si bezplatný účet.
- Webová aplikace ASP.NET Core.
- Prostředek služby Azure App Service.
Přidání profilu publikování
Pokud chcete aplikaci publikovat do Azure, otevřete portál Azure pro instanci služby App Service aplikace. V prostředku přehled vyberte Získat profil publikování a uložte soubor *.PublishSetting místně.
Výstraha
Profil publikování obsahuje citlivé informace, jako jsou přihlašovací údaje pro přístup k prostředku služby Azure App Service. Tyto informace by měly být vždy zpracovávány s velkou pečlivostí.
V úložišti GitHub přejděte do Nastavení a v levé navigační nabídce vyberte Tajné kódy . Vyberte Nový tajný klíč úložiště a přidejte nový tajný kód.
Zadejte AZURE_PUBLISH_PROFILE jako název a vložte obsah XML z profilu publikování do textové oblasti Hodnota . Vyberte Add secret (Přidat tajný kód). Další informace najdete v tématu Šifrované tajné kódy.
Vytvoření souboru pracovního postupu
V úložišti GitHub přidejte do adresáře .github/workflows nový soubor YAML. Zvolte smysluplný název souboru, který jasně indikuje, co má pracovní postup udělat. Další informace naleznete v souboru pracovního postupu.
Důležité
GitHub vyžaduje, aby se soubory složení pracovního postupu umístily do adresáře .github/workflows .
Soubory pracovního postupu obvykle definují složení jedné nebo více akcí GitHubu prostřednictvím jobs.<job_id>/steps[*]. Další informace najdete v syntaxi pracovního postupu pro GitHub Actions.
Vytvořte nový soubor s názvem publish-app.yml, zkopírujte a vložte do něj následující obsah YML:
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'
V předchozím složení pracovního postupu:
Definuje název
name: publish, "publikovat" se objeví na odznacích indikujících stav pracovního postupu.name: publishUzel
onoznačuje události, které aktivují pracovní postup:on: push: branches: [ production ]- Vyvoláno když
pushnastane na větviproduction.
- Vyvoláno když
Uzel
envdefinuje pojmenované proměnné prostředí (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- Proměnná
AZURE_WEBAPP_NAMEprostředí má přiřazenou hodnotuDotNetWeb. - Proměnná
AZURE_WEBAPP_PACKAGE_PATHprostředí má přiřazenou hodnotu'.'. - Proměnná
DOTNET_VERSIONprostředí má přiřazenou hodnotu'6.0.401'. Na proměnnou prostředí se později odkazuje, aby se určiladotnet-versionactions/setup-dotnet@v3akce GitHubu.
- Proměnná
Uzel
jobssestaví kroky, které pracovní postup vykoná.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'- Existuje jedna úloha s názvem
publish, která se spustí na nejnovější verzi Ubuntu. - Akce GitHubu
actions/setup-dotnet@v3slouží k nastavení sady .NET SDK se zadanou verzí zDOTNET_VERSIONproměnné prostředí. - Příkaz
dotnet restoreje volán. - Příkaz
dotnet buildje volán. - Příkaz
dotnet publishje volán. - Příkaz
dotnet testje zavolán. - GitHub Akce
azure/webapps-deploy@v2nasadí aplikaci se zadanýmipublish-profileapackage.- Je
publish-profilepřiřazený z tajnéhoAZURE_PUBLISH_PROFILEkódu úložiště.
- Je
- Existuje jedna úloha s názvem
Vytvořit odznak stavu pracovního postupu
Pro úložiště GitHubu se běžně používá README.md soubor v kořenovém adresáři úložiště. Stejně tak je dobré hlásit nejnovější stav pro různé pracovní postupy. Všechny pracovní postupy můžou generovat odznáček stavu, který je vizuálně atraktivní v souboru README.md . Přidání odznaku stavu pracovního postupu:
V úložišti GitHub vyberte možnost Navigace v akcích .
Všechny pracovní postupy úložiště se zobrazují na levé straně, vyberte požadovaný pracovní postup a tlačítko se třemi tečkami (...).
- Tlačítko se třemi tečkami (...) rozšiřuje možnosti nabídky pro vybraný pracovní postup.
Vyberte možnost Vytvořit stavový odznáček v nabídce.
Vyberte tlačítko Kopírovat stavový odznak Markdown.
Vložte Markdown do souboru README.md , uložte ho, potvrďte a nasdílejte změny.
Další informace najdete v tématu Přidání odznaku stavu pracovního postupu.
Ukázkový odznáček stavu publikování pracovního postupu
| Míjení | Neúspěšný | Žádný stav |
|---|---|---|
|
|
|
|
Viz také
- obnovení dotnet
- dotnet build
- dotnet test
- dotnet publish