Rövid útmutató: GitHub-munkafolyamat létrehozása alkalmazás közzétételéhez
Ebben a rövid útmutatóban megtudhatja, hogyan hozhat létre GitHub-munkafolyamatot a .NET-alkalmazás forráskódból való közzétételéhez. A .NET-alkalmazás GitHubról egy célhelyre történő automatikus közzétételét folyamatos üzembe helyezésnek (CD) nevezzük. Az alkalmazás közzétételének számos lehetséges célja van. Ebben a rövid útmutatóban közzé fogja tenni az Azure-ban.
Előfeltételek
- Egy GitHub-fiók.
- .NET-forráskódtár.
- Egy Azure-fiók, aktív előfizetéssel. Fiók ingyenes létrehozása.
- Egy ASP.NET Core-webalkalmazás.
- Egy Azure-alkalmazás szolgáltatáserőforrás.
Közzétételi profil hozzáadása
Az alkalmazás Azure-ban való közzétételéhez nyissa meg az Azure Portalt az alkalmazás App Service-példányához. Az erőforrás áttekintésében válassza a Közzétételi profil lekérése és a *mentése lehetőséget. PublishSetting fájl helyileg.
Figyelmeztetés
A közzétételi profil bizalmas információkat tartalmaz, például a Azure-alkalmazás Szolgáltatás erőforrás eléréséhez szükséges hitelesítő adatokat. Ezeket az információkat mindig nagyon óvatosan kell kezelni.
A GitHub-adattárban navigáljon a Gépház, és válassza a bal oldali navigációs menü Titkos kulcsok elemét. Új titkos kód hozzáadásához válassza az Új tárházi titkos kulcs lehetőséget.
Adja meg AZURE_PUBLISH_PROFILE
a nevet, és illessze be a közzétételi profil XML-tartalmát az Érték szövegterületre. Válassza az Add secret (Titkos kód hozzáadása) lehetőséget. További információ: Titkosított titkos kódok.
Munkafolyamat-fájl létrehozása
A GitHub-adattárban adjon hozzá egy új YAML-fájlt a .github/workflows könyvtárhoz. Válasszon egy értelmezhető fájlnevet, amely egyértelműen jelzi a munkafolyamat célját. További információ: Munkafolyamat-fájl.
Fontos
A GitHub megköveteli, hogy a munkafolyamat-összeállítási fájlokat a .github/workflows könyvtárba kell helyezni.
A munkafolyamat-fájlok általában egy vagy több GitHub-művelet összetételét határozzák meg a jobs.<job_id>/steps[*]
. További információ: A GitHub Actions munkafolyamat-szintaxisa.
Hozzon létre egy publish-app.yml nevű új fájlt, másolja és illessze be a következő YML-tartalmat:
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'
Az előző munkafolyamat-összeállításban:
A
name: publish
"publish" (közzététel) nevet határozza meg a munkafolyamat állapotjelvényeiben.name: publish
A
on
csomópont a munkafolyamatot kiváltó eseményeket jelöli:on: push: branches: [ production ]
- Akkor aktiválódik, ha az
push
ágon történik.production
- Akkor aktiválódik, ha az
A
env
csomópont nevesített környezeti változókat (env var) határoz meg.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
- A környezeti változóhoz
AZURE_WEBAPP_NAME
hozzá van rendelve az értékDotNetWeb
. - A környezeti változóhoz
AZURE_WEBAPP_PACKAGE_PATH
hozzá van rendelve az érték'.'
. - A környezeti változóhoz
DOTNET_VERSION
hozzá van rendelve az érték'6.0.401'
. A környezeti változóra később hivatkozunk adotnet-version
actions/setup-dotnet@v3
GitHub-művelet megadásához.
- A környezeti változóhoz
A
jobs
csomópont összeállítja a munkafolyamat lépéseit.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'
- Egyetlen feladat van elnevezve
publish
, amely az Ubuntu legújabb verzióján fog futni. - A
actions/setup-dotnet@v3
GitHub-művelet a .NET SDK beállítására szolgál a környezeti változó megadottDOTNET_VERSION
verziójával. - A
dotnet restore
parancs meghívása. - A
dotnet build
parancs meghívása. - A
dotnet publish
parancs meghívása. - A
dotnet test
parancs meghívása. - A
azure/webapps-deploy@v2
GitHub-művelet üzembe helyezi az alkalmazást a megadottpublish-profile
éspackage
.- A
publish-profile
rendszer azAZURE_PUBLISH_PROFILE
adattár titkos kódjából van hozzárendelve.
- A
- Egyetlen feladat van elnevezve
Munkafolyamat állapotjelvényének létrehozása
A GitHub-adattárak általános elnevezése, hogy egy README.md fájl található az adattár könyvtárának gyökerében. Hasonlóképpen, jó, ha a különböző munkafolyamatok legújabb állapotát jelenti. Minden munkafolyamat létrehozhat egy állapotjelvényt, amely vizuálisan vonzó a README.md fájlban. A munkafolyamat állapotjelvényének hozzáadása:
A GitHub-adattárban válassza a Műveletek navigációs lehetőséget.
Az összes adattár-munkafolyamat megjelenik a bal oldalon, válassza ki a kívánt munkafolyamatot és a három pont (...) gombot.
- A három pont (...) gomb kibontja a kijelölt munkafolyamat menübeállításait.
Válassza az Állapotjelvény létrehozása menüt.
Válassza a Másolás állapotjelvény Markdown gombját.
Illessze be a Markdownt a README.md fájlba, mentse a fájlt, véglegesítse és küldje el a módosításokat.
További információ: Munkafolyamat-állapotjelvény hozzáadása.
Példa a munkafolyamat állapotjelvényének közzétételére
Elhaladó | Sikertelen | Nincs állapot |
---|---|---|