Gyakorlat – A folyamat létrehozása
Mara ezen a ponton meghatározta a Space Game webhelyének buildkonfigurációját. Most Ön következik. Létre fog hozni egy folyamatot, és elő fogja állítani az első buildösszetevőt.
Mint látta, Mara egy YAML-fájlt használt a build definiálásához. Folyamat létrehozásakor a folyamat rákérdez a YAML-fájlra. A projekt még nem rendelkezik ezzel a fájllal.
Ha nem ad meg kezdeti YAML-fájlt a projekthez, az Azure Pipelines létrehozhat egyet az alkalmazás típusa alapján. Itt egy ASP.NET Core-alkalmazást fog létrehozni, de az Azure Pipelines kezdő buildkonfigurációkat is biztosít más projekttípusokhoz, például a Java- és Go-alkalmazásokhoz.
A folyamat létrehozása
Az Azure DevOpsban nyissa meg a projektet.
A projektlapon vagy a bal oldali panelen válassza a Folyamatok lehetőséget.
Válassza a Folyamat létrehozása (vagy Új folyamat , ha nem ez az első folyamat a projektben).
A Csatlakozás lapon válassza a GitHubot.
Amikor a rendszer kéri, adja meg a GitHubon beállított hitelesítő adatait.
A Kiválasztás lapon válassza ki az mslearn-tailspin-spacegame-web adattárat.
Az Azure Pipelines alkalmazás telepítéséhez előfordulhat, hogy a rendszer átirányítja a GitHubra. Ha igen, görgessen az aljára, és válassza a Jóváhagyás > Telepítés lehetőséget.
A Konfigurálás lapon válassza a ASP.NET Core lehetőséget.
Megjegyzés:
Ha nem látja ezt a beállítást, válassza a Továbbiak megjelenítése lehetőséget. Ne válassza ASP.NET Core (.NET-keretrendszer) lehetőséget.
A Véleményezés lapon jegyezze fel a kezdeti buildkonfigurációt.
Ez egy nagyon alapszintű konfiguráció, amelyet az Azure DevOps biztosít az alkalmazás típusa, ASP.NET Core alapján. Az alapértelmezett konfiguráció egy Microsoft által üzemeltetett ügynököt használ.
Cserélje le a szöveget
vmImage: ubuntu-latest
name: Default
(vagy az ügynökkészlet nevét, ha a Codespaces-adattár titkos kulcsainak beállításakor más készletet adott meg).A Véleményezés lapon válassza a Mentés és futtatás lehetőséget. Ha véglegesíteni szeretné a módosításokat a GitHubon, és elindítja a folyamatot, válassza a Véglegesítés lehetőséget közvetlenül a főágban , majd válassza a Mentés és futtatás lehetőséget. Ha a rendszer egy ilyen
This pipeline needs permission to access a resource before this run can continue
üzenettel kéri az engedély megadását, válassza a Nézet lehetőséget , és kövesse az utasításokat a hozzáférés engedélyezéséhez.
Kísérje figyelemmel a folyamat futását
A Feladatok csoportban válassza a Feladat lehetőséget. Ezután kövesse nyomon a buildelési folyamatot az egyes lépéseken keresztül. Ha a feladat kimenetét szöveges fájlként szeretné megjeleníteni a build befejezésekor, a Nyers napló megtekintése lehetőséget is választhatja.
Ha a folyamat nem indul el gyorsan, ellenőrizze, hogy a Kódterek még futnak-e. A kódterek 30 perc elteltével leállnak, és előfordulhat, hogy újra kell indítani.
Ha a folyamat állapota várólistán marad, és néhány pillanat múlva nem vált futásra, ellenőrizze a párhuzamos feladatokat, és kérjen ingyenes támogatást. Ha nem fér hozzá a párhuzamos feladatokhoz, a modult újrakezdheti a Codespaces használatával.
Itt láthatja a builddefiníció által létrehozott lépéseket. Előkészíti a virtuális gépet, lekéri a legújabb forráskódot a GitHubról, majd létrehozza az alkalmazást.
Ez a konfiguráció nagyszerű kiindulópont, mert most már van egy hely a buildelési feladatok hozzáadására. Azonban frissíteni kell, hogy megfeleljen a Tailspin-csapat igényeinek, például a JavaScript- és CSS-fájlok minify-jének.
Tipp.
Nézze meg az e-mailjeit. Lehet, hogy már kapott buildértesítést a futtatás eredményeivel. Ezekkel az értesítésekkel tudathatja a csapattagokkal, hogy mikor fejeződtek be a buildek, és hogy az egyes buildek sikeresek vagy sikertelenek-e.
Buildfeladatok hozzáadása
Most, hogy már működik a buildelési folyamat, megkezdheti a buildelési feladatok hozzáadását.
Ne feledje, hogy az main
ágból dolgozik. A munka megtartásához most létre kell hoznia egy ágat .build-pipeline
Az ág lehetővé teszi a kísérletezést, és a build teljes működését anélkül, hogy a csapat többi tagját érintené.
Az Azure Pipelinesból közvetlenül hozzáadhat buildfeladatokat az azure-pipelines.yml fájlhoz. Az Azure Pipelines közvetlenül az ágban véglegesíti a kívánt módosításokat. Itt helyileg módosítja az Azure-Pipelines.yml fájlt, és leküldi vagy feltölti a módosításokat a GitHubra. Ezzel a módszerrel gyakorolhatja Git-készségeit. Figyelje meg, hogy a folyamat automatikusan létrehozza az alkalmazást a módosítások leküldésekor.
A gyakorlatban egyesével adhat hozzá buildelési feladatokat, leküldheti a módosításokat, és figyelheti a buildfuttatást. Itt hozzáadja az összes korábban azonosított buildelési feladatot.
Megjegyzés:
Néhány Git-parancsot fog futtatni. Ne aggódjon, ha még csak most ismerkedik a Git-dzsel. Megmutatjuk, mit kell tennie. A Gitről a jövőbeni modulokban részletesebben is megismerkedünk.
A Visual Studio Code-ban lépjen az integrált terminálra. Győződjön meg arról, hogy az
main
adattárban található ágra lép, majd végighalad a lépéseken.A GitHub legújabb módosításainak lekéréséhez és az ág frissítéséhez
main
futtassa ezt agit pull
parancsot.git pull origin main
A kimenetből láthatja, hogy a Git lekéri az azure-pipelines.yml nevű fájlt. Ez az Azure Pipelines által létrehozott kezdőfolyamat-konfiguráció. A folyamat beállításakor az Azure Pipelines hozzáadja ezt a fájlt a GitHub-adattárhoz.
Egy elnevezett
build-pipeline
ág létrehozásához futtassa ezt agit checkout
parancsot:git checkout -B build-pipeline
A Visual Studio Code-ban módosítsa az azure-pipelines.yml-t az itt látható módon:
trigger: - '*' pool: name: 'Default' # Replace Default with the name of your agent pool if you used a different pool variables: buildConfiguration: 'Release' steps: - task: UseDotNet@2 displayName: 'Use .NET SDK 6.x' inputs: packageType: sdk version: '6.x' - task: Npm@1 displayName: 'Run npm install' inputs: verbose: false - script: './node_modules/.bin/node-sass Tailspin.SpaceGame.Web/wwwroot --output Tailspin.SpaceGame.Web/wwwroot' displayName: 'Compile Sass assets' - task: gulp@1 displayName: 'Run gulp tasks' - script: 'echo "$(Build.DefinitionName), $(Build.BuildId), $(Build.BuildNumber)" > buildinfo.txt' displayName: 'Write build info' workingDirectory: Tailspin.SpaceGame.Web/wwwroot - task: DotNetCoreCLI@2 displayName: 'Restore project dependencies' inputs: command: 'restore' projects: '**/*.csproj' - task: DotNetCoreCLI@2 displayName: 'Build the project - Release' inputs: command: 'build' arguments: '--no-restore --configuration Release' projects: '**/*.csproj'
trigger: - '*' pool: vmImage: ubuntu-latest variables: buildConfiguration: 'Release' steps: - task: UseDotNet@2 displayName: 'Use .NET SDK 6.x' inputs: packageType: sdk version: '6.x' - task: Npm@1 displayName: 'Run npm install' inputs: verbose: false - script: './node_modules/.bin/node-sass Tailspin.SpaceGame.Web/wwwroot --output Tailspin.SpaceGame.Web/wwwroot' displayName: 'Compile Sass assets' - task: gulp@1 displayName: 'Run gulp tasks' - script: 'echo "$(Build.DefinitionName), $(Build.BuildId), $(Build.BuildNumber)" > buildinfo.txt' displayName: 'Write build info' workingDirectory: Tailspin.SpaceGame.Web/wwwroot - task: DotNetCoreCLI@2 displayName: 'Restore project dependencies' inputs: command: 'restore' projects: '**/*.csproj' - task: DotNetCoreCLI@2 displayName: 'Build the project - Release' inputs: command: 'build' arguments: '--no-restore --configuration Release' projects: '**/*.csproj'
A szakaszban láthatja azokat a
steps
buildelési feladatokat, amelyek megfeleltetik a korábban azonosított szkriptparancsok mindegyikét.Az Azure Pipelines beépített buildelési feladatokat biztosít, amelyek számos gyakori buildelési tevékenységhez megfeleltethetőek. A
DotNetCoreCLI@2
feladat például adotnet
parancssori segédprogramot képezi le. A folyamat kétszer használjaDotNetCoreCLI@2
a projekt függőségeinek visszaállítását vagy telepítését, és egyszer a projekt összeállítását.Ne feledje, hogy nem minden buildelési tevékenység van egy beépített feladathoz rendelve. Nincs például olyan beépített feladat, amely futtatja a node-Sass segédprogramot, vagy buildadatokat ír egy szövegfájlba. Általános rendszerparancsok futtatásához használja a
CmdLine@2
vagy ascript
feladatot. A folyamat ascript
feladatot használja, mert az közös parancsikont nyújt a következőhöz:CmdLine@2
.A buildelési lépésben, amely adatokat ír a buildről egy fájlba, figyelje meg az alábbi elemeket:
$(Build.DefinitionName)
$(Build.BuildId)
$(Build.BuildNumber)
Ezek az elemek olyan beépített változók, amelyeket a rendszer biztosít a folyamatokban való használatra:
$(Build.DefinitionName)
a buildelési folyamat neve. Például: "SpaceGame-Web-CI".$(Build.BuildId)
a kész build numerikus azonosítója, például 115.$(Build.BuildNumber)
a befejezett build neve. Konfigurálhatja a formátumot, de alapértelmezés szerint a buildszám tartalmazza az aktuális dátumot, majd az adott nap buildszámát. Példa buildszám: "20190329.1".
Saját változókat is meghatározhat, amelyeket hamarosan elvégezhet.
Előfordulhat, hogy észrevette a
UseDotNet@2
feladatot is, amely az első buildelési lépés. Mara emlékeztetett arra, hogy a buildszkript nem telepítette a szükséges buildelési eszközöket. Bár a buildügynök több .NET SDK-verzióval is rendelkezik, ez a feladat lehetővé teszi a folyamat szerzőjének, hogy egyszerűen adja meg a buildügynökön használni kívánt verziót.Az integrált terminálról az azure-pipelines.yml indexhez való hozzáadásához véglegesítse a módosítást, és küldje el a módosítást a GitHubra, futtassa az alábbi Git-parancsokat. Ezek a lépések hasonlóak a korábban végrehajtott lépésekhez.
Tipp.
A Git-parancsok futtatása előtt ne felejtse el menteni az azure-pipelines.yml fájlt.
git add azure-pipelines.yml git commit -m "Add build tasks" git push origin build-pipeline
Ezúttal, a
build-pipeline
ágat küldje a GitHubba, és ne amain
ágat.Az ág GitHubba küldése elindítja a buildfolyamatot az Azure Pipelinesban.
Az Azure Pipelinesban nyissa meg a buildet. Ehhez a lap oldalán válassza a Folyamatok lehetőséget, majd válassza ki a folyamatot. Ekkor megjelenik a véglegesítési üzenet, és hogy a build az ág kódját
build-pipeline
használja.Tipp.
Ha nem látja azonnal a buildet, várjon néhány percet, vagy frissítse az oldalt.
Válassza ki a buildet, és válassza a Feladatok lehetőséget, és futtassa a buildelési feladatokat.
Például a következő történik, amikor a feladat fut
gulp@1
a JavaScript- és CSS-objektumokat minifikáló gulp-feladatok végrehajtásához:Ha bármelyik lépés meghiúsul, a kimenetben megjelenik a hiba, így diagnosztizálhatja és kijavíthatja a hibát.
Korábban egy minimálisabb buildkonfigurációt futtatott. Ezúttal, amikor a buildelés befejeződött, az alkalmazás létrehozásához szükséges feladatok teljesebb készlete jelenik meg.
A build befejezése után válassza ki az összes lépést a build általános előrehaladásának megtekintéséhez. Innen a buildnaplókra vagy a GitHubon a kapcsolódó módosításra ugorhat.