Kif tuża HashiCorp Waypoint biex tikkollabora ma' GitLab CI/CD
HashiCorp wera proġett ġdid waypoint fuq HashiCorp Diġitali. Juża fajl ibbażat fuq HCL biex jiddeskrivi l-bini, it-tbaħħir u r-rilaxx tal-applikazzjonijiet għal diversi pjattaformi cloud li jvarjaw minn Kubernetes sa AWS u Google Cloud Run. Aħseb f'Waypoint bħala Terraform u Vagrant flimkien biex jiddeskrivu l-proċess tal-bini, it-tbaħħir, u r-rilaxx tal-applikazzjonijiet tiegħek.
Veru għall-forma, HashiCorp ħareġ Waypoint bħala sors miftuħ, u jiġi ma 'ħafna eżempji. Il-livell tal-orkestratur huwa f'idejk, Waypoint jiġi bħala eżekutibbli li tista 'taħdem direttament fuq il-laptop tiegħek jew mill-għodda tal-orkestrazzjoni CI/CD tal-għażla tiegħek. Il-mira tal-iskjerament tal-applikazzjoni hija wkoll f'idejk, peress li Waypoint jappoġġja Kubernetes, Docker, Google Cloud Run, AWS ECS, u aktar.
Wara l-qari tal-biża dokumentazzjoni u l-chicst eżempji applikazzjonijiet ipprovduti minn HashiCorp, iddeċidejna li nagħtu ħarsa aktar mill-qrib lejn l-orkestrazzjoni tal-Waypoint b'GitLab CI/CD. Biex tagħmel dan, se nieħdu applikazzjoni Node.js sempliċi li taħdem fuq AWS ECS mir-repożitorju tal-kampjuni.
Wara li tikklonajt ir-repożitorju, ejja nħarsu lejn l-istruttura tal-applikazzjoni li turi paġna waħda:
Kif forsi innotajt, m'hemm l-ebda Dockerfile f'dan il-proġett. Ma jiġux miżjuda fl-eżempju għax ma tantx għandna bżonnhom, għax Waypoint se jieħu ħsiebhom għalina. Ejja nagħtu ħarsa aktar mill-qrib lejn il-fajl waypoint.hclbiex tifhem x'se tagħmel:
project = "example-nodejs"
app "example-nodejs" {
labels = {
"service" = "example-nodejs",
"env" = "dev"
}
build {
use "pack" {}
registry {
use "aws-ecr" {
region = "us-east-1"
repository = "waypoint-gitlab"
tag = "latest"
}
}
}
deploy {
use "aws-ecs" {
region = "us-east-1"
memory = "512"
}
}
}
Matul il-fażi tal-bini, Waypoint juża Cloud Native Buildpacks (CNB) biex tiddetermina l-lingwa tal-ipprogrammar tal-proġett u toħloq immaġni Docker mingħajr ma tuża Dockerfile. Fil-prinċipju, din hija l-istess teknoloġija li tintuża parzjalment minn GitLab Auto DevOps fil-pass Auto Build. Huwa tajjeb ħafna li tara li s-CNB ta 'CNCF qed jikseb aktar u aktar adozzjoni fost l-utenti tal-industrija.
Ladarba l-immaġni tinbena, Waypoint awtomatikament itellagħha fir-reġistru AWS ECR tagħna sabiex tkun lesta biex tintbagħat. Fl-aħħar tal-assemblaġġ, il-pass tal-kunsinna juża AWS ECS add-on biex niskjeraw l-applikazzjoni tagħna fil-kont AWS tagħna.
Mill-laptop tiegħi huwa faċli. Poġġejt Waypoint li diġà huwa awtentikat fil-kont AWS tiegħi u "jaħdem biss". Imma x'jiġri jekk irrid immur lil hinn mill-laptop tiegħi? Jew forsi nixtieq nawtomatizza din l-iskjerament bħala parti mill-pipeline CI/CD ġenerali tiegħi fejn jitmexxew it-testijiet ta 'integrazzjoni attwali tiegħi, it-testijiet tas-sigurtà, u oħrajn? Din hija l-parti tal-istorja fejn jidħol GitLab CI/CD!
NB Jekk qed tippjana li timplimenta CI / CD jew trid tibda tapplika l-aħjar prattiki għall-bini ta 'pipelines, oqgħod attent għall-kors il-ġdid ta' Slurm. "CI/CD fuq l-eżempju ta' Gitlab CI". Issa huwa disponibbli għall-prezz tal-ordni minn qabel.
Waypoint f'GitLab CI/CD
Biex orkestra dan kollu f'GitLab CI/CD, ejja naraw x'neħtieġu fil-fajl tagħna .gitlab-ci.yml:
L-ewwelnett, għandek bżonn immaġini bażi biex taħdem ġewwa fiha. Waypoint jimxi fuq kwalunkwe distribuzzjoni Linux, jeħtieġ biss Docker, sabiex inkunu nistgħu naħdmu b'immaġni ġenerika ta 'Docker.
Sussegwentement, għandek bżonn tinstalla Waypoint f'din l-immaġni. Fil-futur nistgħu niġbru meta tibni immaġini u kontenituri dan il-proċess għalik innifsek.
Fl-aħħarnett se nħaddmu l-kmandi tal-Waypoint
Hawn fuq hemm dak kollu li se jkollu bżonn il-pipeline tagħna biex imexxi l-iskripts meħtieġa biex iwettaq l-iskjerament, iżda biex niskjeraw fl-AWS, neħtieġu ħaġa oħra: irridu nidħlu fil-kont AWS tagħna. Fid-deskrizzjoni tal-Waypoint għandhom pjanijiet dwar l-awtentikazzjoni u l-awtorizzazzjoni. HashiCorp ħarġet ukoll proġett impressjonanti din il-ġimgħa Konfini. Iżda għalissa, nistgħu nieħdu u nittrattaw l-awtentikazzjoni u l-awtorizzazzjoni aħna stess.
Hemm diversi għażliet għall-awtentikazzjoni GitLab CICD fuq AWS. L-ewwel għażla hija li tuża l-built-in HashiCorp Vault. Tajjeb jekk it-tim tiegħek diġà qed juża Vault għall-ġestjoni tal-kredenzjali. Metodu ieħor li jaħdem jekk it-tim tiegħek jimmaniġġja l-awtorizzazzjoni bl-użu ta 'AWS IAM huwa li tivverifika li l-kompiti ta' kunsinna jiġu attivati permezz GitLab RunnerA li huwa awtorizzat li jibda l-iskjerament permezz tal-IAM. Imma jekk trid tiffamiljarizza ruħek mal-Waypoint u trid tagħmel dan malajr, l-aħħar għażla hija li żżid l-AWS API u ċ-ċwievet Sigrieti tiegħek ma' Varjabbli ambjentali GitLab CI/CDAWS_ACCESS_KEY_ID и AWS_SECRET_ACCESS_KEY.
Inpoġġuha kollha flimkien
Ladarba aħna dehret l-awtentikazzjoni, nistgħu nibdew! Il-finali tagħna .gitlab-ci.yml tidher bħal din:
Tara nibdew b'immaġini docker:latest u waqqaf ftit varjabbli ambjentali meħtieġa minn Waypoint. Fil-kapitlu script iniżżlu l-aħħar Waypoint eżekutibbli u npoġġuh /usr/local/bin. Peress li r-runner tagħna huwa diġà awtorizzat fl-AWS, allura sempliċement niġru waypoint init, build, deploy и release.
L-output tal-kompitu tal-bini se jurina l-endpoint fejn irrombla l-applikazzjoni:
Waypoint wieħed minn bosta soluzzjonijiet HashiCorp, li jaħdmu tajjeb ma' GitLab. Pereżempju, minbarra li nwasslu l-applikazzjoni, nistgħu orkestraw l-infrastruttura sottostanti magħha Terraform f'GitLab. Biex tistandardizza s-sigurtà SDLC, nistgħu wkoll nimplimentaw GitLab bil-Vault għall-ġestjoni ta 'sigrieti u tokens f'pipelines CI/CD, li jipprovdu soluzzjoni sħiħa għall-iżviluppaturi u amministraturi li jiddependu fuq ġestjoni sigrieta għall-iżvilupp, l-ittestjar u l-użu tal-produzzjoni.
Soluzzjonijiet konġunti żviluppati minn HashiCorp u GitLab jgħinu lill-kumpaniji jsibu l-aħjar mod biex jiżviluppaw applikazzjonijiet billi jiżguraw ġestjoni konsistenti tal-katina tal-provvista u tal-infrastruttura. Waypoint għamel pass ieħor fid-direzzjoni t-tajba u nistennew bil-ħerqa aktar żvilupp tal-proġett. Tista' titgħallem aktar dwar Waypoint hawnukoll min jesplora dokumentazzjoni и pjan ta’ żvilupp proġett. Żidna l-għarfien tagħna Dokumentazzjoni GitLab CICD. Jekk trid tipprovaha lilek innifsek, tista' tiċċekkja l-eżempju tax-xogħol sħiħ fuq dan ir-repożitorju.
Tista' tifhem il-prinċipji ta' CI / CD, tikkontrolla l-irqaqat kollha ta' xogħol ma' Gitlab CI u tibda tapplika l-aħjar prattiki billi tlesti l-kors bil-vidjo "CI/CD fuq l-eżempju ta' Gitlab CI". Ingħaqad issa!