Torolàlana ho an'ny CI/CD ao amin'ny GitLab ho an'ny vao manomboka tanteraka (saika).
Na ny fomba hahazoana mari-pamantarana tsara tarehy ho an'ny tetikasanao amin'ny takariva iray amin'ny fanodinana mora
Angamba, ny mpamorona tsirairay izay manana tetikasa biby iray farafahakeliny amin'ny fotoana iray dia manana mangidihidy momba ny mari-pamantarana tsara tarehy misy sata, fandrakofana kaody, dikan-teny ao amin'ny nuget ... Ary io mangidihidy io no nitarika ahy hanoratra ity lahatsoratra ity. Ho fanomanana ny fanoratana azy dia nahazo ity hatsarana ity tao amin'ny iray amin'ireo tetikasako aho:
Ity lahatsoratra ity dia hitarika anao amin'ny fananganana fototra amin'ny fampidirana sy fandefasana mitohy ho an'ny tetikasa famakiam-boky kilasy .Net Core ao amin'ny GitLab, famoahana antontan-taratasy ao amin'ny GitLab Pages, ary manosika ireo fonosana namboarina ho an'ny fahana manokana ao amin'ny Azure DevOps.
VS Code dia nampiasaina ho tontolo fampandrosoana miaraka amin'ny fanitarana GitLab Workflow (amin'ny fanamarinana ny fisie fichier mivantana avy amin'ny tontolo fampandrosoana).
Fampidirana fohy
CD - rehefa nanosika fotsiny ianao, ary efa nianjera tamin'ny mpanjifa ny zava-drehetra?
Inona no atao hoe CI / CD ary nahoana ianao no mila izany - azonao atao amin'ny google mora foana izany. Mitadiava antontan-taratasy feno momba ny fanamboarana fantsona ao amin'ny GitLab mora koa. Eto aho dia hiresaka fohifohy ary, raha azo atao, dia mamaritra ny fizotran'ny rafitra amin'ny fomba fijerin'ny vorona:
mandefa commit amin'ny tahiry ny developer, mamorona fangatahana fampiraisana amin'ny alàlan'ny tranokala, na amin'ny fomba hafa, manomboka mazava na an-kolaka ny fantsona,
ny asa rehetra dia voafantina avy amin'ny fanamafisana, ny fepetra ahafahan'izy ireo manomboka amin'ny toe-javatra nomena,
ny asa dia voalamina araka ny dingana misy azy,
dingana dia tanterahina mifandimby - i.e. mifanindran-dàlana vita ny asa rehetra amin'ity dingana ity,
raha tsy mahomby ny dingana (izany hoe, farafaharatsiny ny iray amin'ireo asa amin'ny sehatra dia tsy mahomby), mijanona ny fantsona (saika foana),
raha vita soa aman-tsara ny dingana rehetra dia heverina ho mahomby ny fantsona.
asa (asa) dia singa iray miasa ao anaty fantsona. Ahitana script (takina), fepetra fanombohana, fandrindrana ho an'ny famoaham-boky/caching artifacts sy ny maro hafa.
Noho izany, ny asa rehefa manangana CI / CD dia midina amin'ny famoronana andiana asa izay manatanteraka ny hetsika rehetra ilaina amin'ny fananganana, fitsapana ary famoahana kaody sy artifacts.
Alohan'ny hanombohana: nahoana?
Nahoana no Gitlab?
Satria rehefa nilaina ny namorona trano fitehirizam-bokatra manokana ho an'ny tetikasa biby fiompy, dia naloa tao amin'ny GitHub izy ireo, ary tia vola aho. Nanjary maimaim-poana ny tahiry, saingy hatreto dia tsy ampy ny antony hifindrako any amin'ny GitHub.
Maninona no tsy Azure DevOps Pipelines?
Satria misy ny toerana misy azy - tsy ilaina akory ny fahalalana ny baiko. Fampidirana amin'ireo mpamatsy git ivelany - amin'ny tsindry roa, fanafarana ny lakile SSH handefasana commits amin'ny tahiry - koa, ny pipeline dia mora amboarina na dia tsy avy amin'ny môdely aza.
Toerana fanombohana: izay anananao sy izay tianao
Manana isika:
repository ao amin'ny GitLab.
Tianay:
fivoriambe mandeha ho azy sy fitsapana ho an'ny fangatahana fampitambatra tsirairay,
manorina fonosana ho an'ny fangatahana fanakambanana tsirairay ary manosika mankany amin'ny tompony, raha toa ka misy andalana iray ao amin'ny hafatra commit,
mandefa fonosana voaangona amin'ny fahana manokana ao amin'ny Azure DevOps,
fanangonana antontan-taratasy sy famoahana ao amin'ny GitLab Pages,
Rehefa manindry ny bokotra Mamorona ianao dia hoforonina ny tetikasa ary halefa any amin'ny pejiny ianao. Amin'ity pejy ity dia azonao atao ny manafoana ireo endri-javatra tsy ilaina amin'ny alàlan'ny fandehanana any amin'ny sehatry ny tetikasa (rohy ambany ao amin'ny lisitra eo ankavia -> Overview -> Azure DevOps Services block)
Mandehana any amin'ny Atrifacts, tsindrio Mamorona sakafo
Ampidiro ny anaran'ny loharano
Fidio ny fahitana
Esory ny boaty Ampidiro ny fonosana avy amin'ny loharanom-baovao mahazatra, mba tsy hivadika ho clone nuget fanariam-pako ny loharano
Tsindrio ny Connect mba hamahanana, mifidiana Visual Studio, kopia loharano avy amin'ny sakana Machine Setup
Mandehana any amin'ny firafitry ny kaonty, mifidiana Personal Access Token
Mamorona famantarana fidirana vaovao
Anarana - tsy misy dikany
Organisation - Amin'izao fotoana izao
Manan-kery mandritra ny 1 taona fara-fahakeliny
Faritra - Fonosana/Vakio & Soraty
Adikao ny marika noforonina - rehefa mikatona ny varavarankelin'ny modal dia tsy ho hita ilay sanda
Mandehana any amin'ny fitehirizana tahiry ao amin'ny GitLab, safidio ny fikandrana CI / CD
Manitatra ny sakana Variables, ampio iray vaovao
Anarana - izay tsy misy habaka (dia ho hita ao amin'ny baiko shell)
Sanda - token'ny fidirana avy amin'ny paragrafy 9
Select Mask variable
Izany dia mamita ny pre-configuration.
Manomana ny rafi-pandaminana
Amin'ny alàlan'ny default, ny konfigurasi CI/CD ao amin'ny GitLab dia mampiasa ny rakitra .gitlab-ci.yml avy amin'ny fototry ny repository. Azonao atao ny mametraka lalana tsy misy dikany mankany amin'ity rakitra ity ao amin'ny firafitry ny tahiry, fa amin'ity tranga ity dia tsy ilaina izany.
Araka ny hitanao avy amin'ny fanitarana, ny rakitra dia misy fanamafisam-peo amin'ny endrika YAML. Ny antsipirian'ny antontan-taratasy izay fanalahidy azo asiana eo amin'ny ambaratonga ambony amin'ny tefy, ary isaky ny ambaratonga misy akany.
Voalohany, andao hampiditra rohy mankany amin'ny sarin'ny docker ao amin'ny rakitra fanamafisana, izay hanatanterahana ny asa. Noho izany dia hitantsika Pejy sary .Net Core ao amin'ny Docker Hub. The GitHub misy torolàlana amin'ny antsipiriany momba ny sary hofidiana amin'ny asa samihafa. Ny sary miaraka amin'ny .Net Core 3.1 dia mety hamboarinay, koa aza misalasala manampy ny andalana voalohany amin'ny fanitsiana.
image: mcr.microsoft.com/dotnet/core/sdk:3.1
Ankehitriny, rehefa atomboka avy amin'ny tahiry sary Microsoft ny fantsona, dia alaina ilay sary voatondro, izay hanatanterahana ny asa rehetra avy amin'ny fanamafisana.
Ny dingana manaraka dia ny manampy sehatra's. Amin'ny alàlan'ny default, GitLab dia mamaritra dingana 5:
.pre - natao hatramin'ny dingana rehetra,
.post - atao aorian'ny dingana rehetra,
build - voalohany aorian'izay .pre sehatra,
test - dingana faharoa,
deploy - ny dingana fahatelo.
Tsy misy misakana anao tsy hanambara azy ireo mazava anefa. Ny filaharan'ireo dingana voatanisa dia misy fiantraikany amin'ny filaharan'ny fanatanterahana azy. Mba hamenoana dia andao ampidirina amin'ny config:
stages:
- build
- test
- deploy
Ho an'ny debugging, misy dikany ny maka vaovao momba ny tontolo iainan'ny asa. Andeha isika hanampy andiana baiko maneran-tany izay hotanterahina alohan'ny asa tsirairay before_script:
before_script:
- $PSVersionTable.PSVersion
- dotnet --version
- nuget help | select-string Version
Mbola manampy asa iray farafahakeliny izany ka rehefa alefa ny commit dia hanomboka ny fantsona. Amin'izao fotoana izao, andao hanampy asa poakaty hanehoana:
dummy job:
script:
- echo ok
Manomboka ny fanamarinana izahay, mahazo hafatra fa tsara ny zava-drehetra, manolo-tena, manosika, mijery ny valiny ao amin'ny tranokala ... Ary mahazo fahadisoana amin'ny script - bash: .PSVersion: command not found. WTF?
Lojika daholo ny zava-drehetra - amin'ny alàlan'ny default, ny mpihazakazaka (tompon'andraikitra amin'ny fanatanterahana ny script asa ary nomen'ny GitLab) dia mampiasa bash manatanteraka baiko. Azonao atao ny manamboatra izany amin'ny alàlan'ny famaritana mazava ao amin'ny famaritana asa izay marika tokony hananan'ny mpihazakazaka pipeline:
dummy job on windows:
script:
- echo ok
tags:
- windows
Mahafinaritra! Efa mandeha izao ny fantsona.
Ny mpamaky mahay, rehefa mamerina ireo dingana voalaza, dia hahatsikaritra fa vita teo amin'ny sehatra ilay asa test, na dia tsy nofaritanay aza ny sehatra. Araka ny mety eritreretinao test dia ny dingana default.
build job:
script:
- echo "building..."
tags:
- windows
stage: build
test and cover job:
script:
- echo "running tests and coverage analysis..."
tags:
- windows
stage: test
pack and deploy job:
script:
- echo "packing and pushing to nuget..."
tags:
- windows
stage: deploy
pages:
script:
- echo "creating docs..."
tags:
- windows
stage: deploy
Nahazo pipeline tsy tena miasa izahay, nefa marina.
Fametrahana trigger
Noho ny zava-misy fa tsy misy sivana trigger voatondro ho an'ny asa rehetra, ny fantsona dia hanao tanteraka hotanterahina isaky ny atosiky ny commit mankany amin'ny tahiry. Satria tsy izany no fihetsika tiana amin'ny ankapobeny, dia hametraka sivana trigger ho an'ny asa isika.
Ny sivana dia azo amboarina amin'ny endrika roa: ihany/afa-tsy и fitsipika. Fohy, only/except ahafahanao manamboatra sivana amin'ny trigger (merge_request, ohatra - mametraka ny asa hotanterahina isaky ny misy fangatahana misintona ary isaky ny mandefa ny commit any amin'ny sampana izay loharanon'ny fangatahana fampiraisana) sy ny anaran'ny sampana (anisan'izany ny fampiasana fiteny mahazatra); rules mamela anao hanamboatra fepetra maromaro ary, raha tsy izany, hanova ny fepetra fanatanterahana asa miankina amin'ny fahombiazan'ny asa teo aloha (when ao amin'ny GitLab CI/CD).
Andeha hotsaroantsika ny fepetra takiana - fivoriambe sy fitsapana ho an'ny fangatahana fanakambanana, fonosana ary fandefasana any amin'ny Azure DevOps - ho an'ny fangatahana fanakambanana sy fanosehana amin'ny tompony, famokarana antontan-taratasy - ho an'ny fanosehana amin'ny tompony.
Voalohany, andao hametraka ny asa fananganana kaody amin'ny alàlan'ny fampidirana fitsipika iray izay mirehitra raha tsy amin'ny fangatahana fampitambatra:
build job:
# snip
only:
- merge_request
Andeha hojerentsika izao ny asa famonosana handrehitra ny fangatahana fampiraisana ary ampio ny commit amin'ny tompony:
Araka ny hitanao, ny zava-drehetra dia tsotra sy mahitsy.
Azonao atao ihany koa ny mametraka ny asa ho afo raha tsy misy fangatahana fanakambanana noforonina miaraka amin'ny lasibatra na sampana loharano manokana:
Ny lalana dia manohana ny wildcard, izay tena manamora ny fametrahana azy ireo.
Raha mamorona artifacts ny asa iray, dia ho afaka miditra amin'izy ireo ny asa manaraka - ho hita eo amin'ny lalana mitovy amin'ny fototry ny tahiry izay nangonina tamin'ny asa tany am-boalohany. Azo alaina ao amin'ny tranokala ihany koa ny artifacts.
Amin'izao fotoana izao dia efa vonona ny rafi-pandaminana (ary nosedraina), afaka miroso amin'ny fanoratana script ho an'ny asa isika.
Manoratra script izahay
Angamba, indray mandeha, tany amin'ny vahindanitra lavitra, lavitra, ny fananganana tetikasa (anisan'izany ireo ao amin'ny .net) avy amin'ny tsipika baiko dia nanaintaina. Afaka manangona, manandrana ary mamoaka ny tetikasa amin'ny ekipa 3 ianao izao:
dotnet build
dotnet test
dotnet pack
Mazava ho azy, misy ny nuances sasany izay hanasarotra ny baiko.
Famoronana famotsorana no tadiavinay fa tsy fananganana debug, ka ampianay ny baiko tsirairay -c Release
Rehefa manao fitiliana dia te-hanangona angon-drakitra momba ny fandrakofana kaody izahay, noho izany dia mila mampiditra mpanadihady fandrakofana ao amin'ny tranomboky fitsapana izahay:
GitLab dia ahafahanao mamaritra fomba fiteny mahazatra hahazoana antontan'isa, izay azo alaina amin'ny endrika marika. Ny fitenenana mahazatra dia voafaritra ao amin'ny firafitry ny asa miaraka amin'ny fanalahidy coverage; ny fitenenana dia tsy maintsy misy vondrona maka sary, ny sandan'izany dia halefa amin'ny marika:
test and cover job:
# snip
coverage: /|s*Totals*|s*(d+[,.]d+%)/
Eto isika dia mahazo antontan'isa avy amin'ny tsipika misy fandrakofana andalana manontolo.
Mamoaka fonosana sy antontan-taratasy
Samy manana hetsika voatendry ho amin'ny dingana farany amin'ny fantsona isika - satria efa lasa ny fivoriambe sy ny fitsapana, dia afaka mizara ny fivoarantsika amin'izao tontolo izao isika.
Voalohany, diniho ny famoahana amin'ny loharano fonosana:
Raha tsy manana fichier nuget ny tetikasa (nuget.config), mamorona vaovao: dotnet new nugetconfig
Hatao inona: ny sary dia mety tsy manana fahafahana manoratra amin'ny fanamafisam-peo manerantany (mpampiasa sy milina). Mba tsy hisian'ny lesoka dia mamorona config vaovao eo an-toerana fotsiny izahay ary miara-miasa aminy.
key - andalana rehetra. Ao amin'ny Azure DevOps, ao amin'ny varavarankely Connect to feed, ny ohatra dia ny tsipika foana az.
-skipduplicate - rehefa manandrana mandefa fonosana efa misy tsy misy an'io fanalahidy io dia hiverina ny loharano 409 Conflict; miaraka amin'ny fanalahidy, ny fandefasana dia ho voatsindrina.
Andeha isika hametraka ny famoronana ny antontan-taratasy:
Voalohany, ao amin'ny tahiry, ao amin'ny sampana master, dia manomboka ny tetikasa docfx isika. Mba hanaovana izany, mandehana ny baiko avy amin'ny root docfx init ary apetraho amin'ny fomba ifanakalozan-kevitra ireo mari-pamantarana fototra ho an'ny antontan-taratasy fananganana. Famaritana amin'ny antsipiriany momba ny fananganana tetikasa kely indrindra eto.
Rehefa configuring dia zava-dehibe ny mamaritra ny output lahatahiry ..public - GitLab amin'ny alàlan'ny default dia maka ny votoatin'ny lahatahiry ho an'ny daholobe ao amin'ny fototry ny tahiry ho loharanon'ny Pejy. SATRIA ny tetikasa dia ho hita ao amin'ny lahatahiry nipetraka ao amin'ny repository - ampio vokatra amin'ny ambaratonga ambony amin'ny lalana.
Andao hanosika ny fanovana amin'ny GitLab.
Manampia asa amin'ny fandrindrana fantsona pages (teny voatokana ho an'ny asa famoahana tranonkala ao amin'ny GitLab Pages):
Script:
nuget install docfx.console -version 2.51.0 - mametraka docfx; nofaritana ny dikan-teny mba hahazoana antoka fa marina ny lalan'ny fametrahana fonosana.
Teo aloha, rehefa nanangana tetikasa aho dia nanondro ny loharanon-kaody ho an'ny antontan-taratasy ho rakitra vahaolana. Ny fatiantoka lehibe dia ny famoronana antontan-taratasy ho an'ny tetikasa fitsapana. Raha toa ka tsy ilaina izany dia azonao atao ny mametraka io sanda io amin'ny node metadata.src:
metadata.src.src: "../" - miakatra ambaratonga iray isika raha oharina amin'ny toerana docfx.json, satria amin'ny lamina, tsy mandeha ny fikarohana ny hazo lahatahiry.
metadata.src.files: ["**/*.csproj"] - lamina manerantany, manangona ny tetikasa C # rehetra avy amin'ny lahatahiry rehetra izahay.
metadata.src.exclude: ["*.tests*/**"] - modely manerantany, esory ny zava-drehetra amin'ny lahatahiry misy .tests Ao amin'ny lohateny
Subtotal
Ny fanamafisana tsotra toy izany dia azo noforonina ao anatin'ny antsasak'adiny sy kafe roa kaopy, izay ahafahanao manamarina fa vita ny kaody ary mandalo ny fitsapana, manangana fonosana vaovao, manavao ny antontan-taratasy ary mampifaly ny maso amin'ny tsara tarehy. badge ao amin'ny README an'ny tetikasa miaraka amin'ny fangatahana fanakambanana tsirairay ary alefa any amin'ny tompony.
Farany .gitlab-ci.yml
image: mcr.microsoft.com/dotnet/core/sdk:3.1
before_script:
- $PSVersionTable.PSVersion
- dotnet --version
- nuget help | select-string Version
stages:
- build
- test
- deploy
build job:
stage: build
script:
- dotnet build -c Release
tags:
- windows
only:
- merge_requests
- master
artifacts:
paths:
- your/path/to/binaries
test and cover job:
stage: test
tags:
- windows
script:
- dotnet test -c Release /p:CollectCoverage=true
coverage: /|s*Totals*|s*(d+[,.]d+%)/
only:
- merge_requests
- master
pack and deploy job:
stage: deploy
tags:
- windows
script:
- dotnet pack -c Release -o .
- dotnet new nugetconfig
- nuget sources add -name feedName -source https://pkgs.dev.azure.com/your-organization/_packaging/your-feed/nuget/v3/index.json -username your-organization -password $nugetFeedToken -configfile nuget.config -StorePasswordInClearText
- nuget push -source feedName -skipduplicate -apikey az *.nupkg
only:
- master
pages:
tags:
- windows
stage: deploy
script:
- nuget install docfx.console -version 2.51.0
- $env:path = "$env:path;$($(get-location).Path)"
- .docfx.console.2.51.0toolsdocfx.exe .docfxdocfx.json
artifacts:
paths:
- public
only:
- master
Raha miresaka badge
Noho izy ireo rahateo no nanomboka ny zava-drehetra!
Ny mari-pamantarana misy sata fantsona sy fandrakofana kaody dia hita ao amin'ny GitLab ao amin'ny firafitry ny CI/CD ao amin'ny sakana Gtntral pipelines:
Namorona badge misy rohy mankany amin'ny antontan-taratasy eo amin'ny lampihazo aho shields.io - Tsotra ny zava-drehetra ao, azonao atao ny mamorona ny marikao manokana ary mandray izany amin'ny alàlan'ny fangatahana.
![Пример с Shields.io](https://img.shields.io/badge/custom-badge-blue)
Azure DevOps Artifacts dia ahafahanao mamorona marika ho an'ny fonosana miaraka amin'ny dikan-teny farany. Mba hanaovana izany, ao amin'ny loharano ao amin'ny tranokala Azure DevOps dia mila manindry Mamorona marika ho an'ny fonosana voafantina ianao ary mandika ny marika marika:
Manampy hatsarana
Manasongadina ireo sombin-javatra iombonana
Teo am-panoratana sy nikaroka ny antontan-taratasy aho dia nahita endri-javatra mahaliana an'ny YAML - ny fampiasana indray ny sombiny.
Araka ny hitanao avy amin'ny firafitry ny asa dia mila ny tag avokoa izy rehetra windows amin'ny mpihazakazaka, ary mipoitra rehefa misy fangatahana fampiraisana alefa any amin'ny tompony / noforonina (afa-tsy ny antontan-taratasy). Andao ampidirintsika amin'ny sombiny izay hampiasaintsika indray:
Ary ankehitriny isika dia afaka mampiditra ny sombiny nambara teo aloha ao amin'ny famaritana asa:
build job:
<<: *common_tags
<<: *common_only
Ny anaran'ny sombintsombiny dia tsy maintsy manomboka amin'ny teboka, mba tsy ho raisina ho toy ny asa.
Fanamboarana fonosana
Rehefa mamorona fonosana, ny compiler dia manamarina ny baikon'ny baiko, ary raha tsy eo izy ireo, ny rakitra tetikasa; rehefa mahita node Version izy dia maka ny sandany ho toy ny dikan-tenin'ny fonosana namboarina. Hita fa raha te hanangana fonosana misy dikan-teny vaovao ianao dia mila manavao azy ao amin'ny rakitra tetikasa na mandefa azy io ho toy ny tohan-kevitry ny baiko.
Andeha isika hanampy iray hafa Wishlist - avelao ny isa roa kely ao amin'ny dikan-ny taona sy ny fananganana ny fonosana, ary ampio prerelease dikan. Mazava ho azy, azonao atao ny manampy an'io data io amin'ny rakitra tetikasa ary manamarina alohan'ny fandefasana tsirairay - fa azonao atao ihany koa ny manao izany amin'ny fantsona, manangona ny dikan-drakitra avy amin'ny contexte ary mandalo izany amin'ny alàlan'ny tohan-kevitry ny baiko.
Andao hanaiky fa raha misy tsipika toy ny hafatra commit release (v./ver./version) <version number> (rev./revision <revision>)?, dia horaisintsika avy amin'ity tsipika ity ny dikan-tenin'ny fonosana, ampio amin'ny daty ankehitriny ary ampidiro ho tohan-kevitra amin'ny baiko dotnet pack. Raha tsy misy tsipika dia tsy hanangona ny fonosana fotsiny izahay.
Ity script manaraka ity dia mamaha ity olana ity:
# регулярное выражение для поиска строки с версией
$rx = "releases+(v.?|ver.?|version)s*(?<maj>d+)(?<min>.d+)?(?<rel>.d+)?s*((rev.?|revision)?s+(?<rev>[a-zA-Z0-9-_]+))?"
# ищем строку в сообщении коммита, передаваемом в одной из предопределяемых GitLab'ом переменных
$found = $env:CI_COMMIT_MESSAGE -match $rx
# совпадений нет - выходим
if (!$found) { Write-Output "no release info found, aborting"; exit }
# извлекаем мажорную и минорную версии
$maj = $matches['maj']
$min = $matches['min']
# если строка содержит номер релиза - используем его, иначе - текущий год
if ($matches.ContainsKey('rel')) { $rel = $matches['rel'] } else { $rel = ".$(get-date -format "yyyy")" }
# в качестве номера сборки - текущие месяц и день
$bld = $(get-date -format "MMdd")
# если есть данные по пререлизной версии - включаем их в версию
if ($matches.ContainsKey('rev')) { $rev = "-$($matches['rev'])" } else { $rev = '' }
# собираем единую строку версии
$version = "$maj$min$rel.$bld$rev"
# собираем пакеты
dotnet pack -c Release -o . /p:Version=$version
Manampy script amin'ny asa iray pack and deploy job ary tandremo tsara ny fivorian'ny fonosana eo anatrehan'ny tady nomena ao amin'ny hafatra commit.
Итого
Rehefa avy nandany antsasak'adiny na adiny iray teo ho eo tamin'ny fanoratana ny fanitsiana, ny debugging tao amin'ny powershell eo an-toerana ary, angamba, ny fandefasana roa tsy nahomby, dia nahazo fanitsiana tsotra ho an'ny asa mahazatra.
Mazava ho azy fa ny GitLab CI / CD dia midadasika kokoa sy marolafy kokoa noho izay mety ho hita rehefa avy namaky ity torolàlana ity - tsy marina mihitsy izany. Misy aza Auto DevOps diamamela
mamantatra ho azy, manangana, andramana, manaparitaka ary manara-maso ny fampiharanao
Amin'izao fotoana izao, ny drafitra dia ny hanitsy ny fantsona amin'ny fametrahana fampiharana amin'ny Azure, amin'ny fampiasana Pulumi ary mamaritra ho azy ny tontolo iainana kendrena, izay hodinihina ao amin'ny lahatsoratra manaraka.