
HashiCorp ka treguar projektin e ri në . Ai përdor një skedar të bazuar në HCL për të përshkruar ndërtimin, dorëzimin dhe lansimin e aplikacioneve për platforma të ndryshme në cloud, duke filluar nga Kubernetes dhe deri në AWS dhe Google Cloud Run. Mund ta imagjinoni Waypoint si një bashkim të Terraform dhe Vagrant për të përshkruar procesin e ndërtimit, dorëzimit dhe lansimit të aplikacioneve tuaja.
Pa ndryshuar veten, HashiCorp ka lĂ«shuar Waypoint me burim tĂ« hapur, si dhe shumĂ« shembuj. Nivelin e orkestratorit e zgjidhni vetĂ«, Waypoint vjen si njĂ« skedar ekzekutiv qĂ« mund ta запŃŃĐșoni direkt nĂ« laptopin tuaj ose nga mjeti tuaj tĂ« preferuar tĂ« orkestrimit CI/CD. QĂ«llimi pĂ«r ndĂ«rtimin e aplikacioneve gjithashtu zgjidhet nga ju, pasi Waypoint mbĂ«shtet Kubernetes, Docker, Google Cloud Run, AWS ECS dhe tĂ« tjerĂ«.
Pas leximit të fantastik dhe të mahnitshme aplikacioneve të ofruara nga HashiCorp, vendosëm të shohim më nga afër orkestrimin e Waypoint me GitLab CI/CD. Për ta bërë këtë, do të marrim një aplikacion të thjeshtë Node.js, që funksionon në AWS ECS, nga repertori i shembujve.
Pas klonimit të repertorit, do të shohim strukturën e aplikacionit që tregon një faqe:

Si e keni vënë re, në këtë projekt nuk ka Dockerfile. Ato nuk janë shtuar në shembuj, sepse në të vërtetë nuk na nevojiten, pasi Waypoint merret me to për ne. Le të shqyrtojmë më në detaje skedarin waypoint.hcl, për të kuptuar se çfarë do të bëjë:
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"
}
}
}NĂ« fazĂ«n e ndĂ«rtimit, Waypoint pĂ«rdor Cloud Native Buildpacks (), pĂ«r tĂ« pĂ«rcaktuar gjuhĂ«n e programimit tĂ« projektit dhe pĂ«r tĂ« krijuar njĂ« imazh pĂ«r Docker pa pĂ«rdorur Dockerfile. NĂ« tĂ« vĂ«rtetĂ«, kjo Ă«shtĂ« e njĂ«jta teknologji qĂ« pĂ«rdoret nga GitLab nĂ« pjesĂ«n nĂ« hapin Auto Build. ĂshtĂ« kĂ«naqĂ«si tĂ« shohĂ«sh se CNB nga CNCF po bĂ«het gjithnjĂ« e mĂ« e njohur midis pĂ«rdoruesve nga industria.
Sa herë që imazhi është ndërtuar, Waypoint automatikisht do ta ngarkojë atë në regjistrin ECR të AWS për ta bërë atë të gatshëm për shpërndarje. Pasi të përfundojë ndërtimi, hapi i shpërndarjes përdor për të vendosur aplikacionin tonë në llogarinë tonë AWS.
Nga kompjuterin tim â gjithçka Ă«shtĂ« e thjeshtĂ«. UnĂ« vendos Waypoint, i cili Ă«shtĂ« tashmĂ« i autentikuar nĂ« llogarinĂ« time nĂ« AWS, dhe ai "funksionon thjesht". Por çfarĂ« ndodh nĂ«se dua tĂ« dal pĂ«rtej kompjuterit tim? Ose ndoshta dua ta automatizoj kĂ«tĂ« dislokim si pjesĂ« tĂ« procesit tim tĂ« pĂ«rgjithshĂ«m CI/CD, ku ekzekutohen testet e mia tĂ« integrimit aktual, testet e sigurisĂ« dhe tĂ« tjera? Ky Ă«shtĂ« momenti kur hyn nĂ« lojĂ« GitLab CI/CD!
Shën. Nëse po planifikoni vetëm të aplikoni CI/CD ose dëshironi të filloni të aplikoni praktikat më të mira për ndërtimin e pipeline-ve, shikoni kursin e ri të Slyermës. . Tani është në dispozicion për një çmim parashitore.
Waypoint në GitLab CI/CD
Për orkestrimin e gjithçkaje në GitLab CI/CD, le të shohim se çfarë na nevojitet në skedarin tonë .gitlab-ci.yml:
- Së pari, na nevojitet një imazh bazë për ta ekzekutuar brenda tij. Waypoint funksionon në çdo distribucion Linux, i nevojitet vetëm Docker, kështu që mund të fillojmë nga një imazh të përgjithshëm Docker.
- Pastaj duhet të instalojmë Waypoint në këtë imazh. Në të ardhmen, mund të ndërtojmë dhe ta kontenerizojmë këtë proces për veten tonë.
- Së fundmi do të ekzekutojmë komandat Waypoint
Më poshtë janë të gjitha ato që do t'i nevojiten konvejirit tonë për të nisur skriptet e nevojshme për ekzekutimin e shpërndarjeve, por për shpërndarjen në AWS na nevojitet edhe një gjë tjetër: ne duhet të autorizohemi në llogarinë tonë AWS. Në përshkrimin e Waypoint për autentifikim dhe autorizim. HashiCorp gjithashtu publikoi këtë javë një projekt impresionues . Por për momentin ne mund ta trajtojmë vetë autentifikimin dhe autorizimin.
PĂ«r autentifikimin e GitLab CICD nĂ« AWS ka disa mundĂ«si. MundĂ«sia e parĂ« Ă«shtĂ« pĂ«rdorimi i integruar . Ai do tĂ« jetĂ« i pĂ«rshtatshĂ«m nĂ«se ekipi juaj tashmĂ« pĂ«rdor Vault pĂ«r menaxhimin e kredencialeve. NjĂ« tjetĂ«r mĂ«nyrĂ«, e cila Ă«shtĂ« e pĂ«rshtatshme nĂ«se ekipi juaj menaxhon autorizimin pĂ«rmes AWS IAM â sigurohuni qĂ« detyrat e shpĂ«rndarjes nisĂ«n pĂ«rmes , tĂ« autorizuara pĂ«r tĂ« nisur shpĂ«rndarjen pĂ«rmes IAM. Por nĂ«se thjesht dĂ«shironi tĂ« njiheni me Waypoint dhe doni ta bĂ«ni sa mĂ« shpejt, ka njĂ« mundĂ«si tĂ« fundit â tĂ« shtoni çelĂ«sat tuaj AWS API dhe Secret nĂ« AWS_ACCESS_KEY_ID dhe AWS_SECRET_ACCESS_KEY.
T'i bashkojmë të gjitha së bashku
Sapo e zgjidhëm autentifikimin, mund të fillojmë! Versioni ynë përfundimtar .gitlab-ci.yml duke dukur kështu:
waypoint:
image: docker:latest
stage: build
services:
- docker:dind
# Definoni variablat e ambientit, p.sh. `WAYPOINT_VERSION: '0.1.1'`
variables:
WAYPOINT_VERSION: ''
WAYPOINT_SERVER_ADDR: ''
WAYPOINT_SERVER_TOKEN: ''
WAYPOINT_SERVER_TLS: '1'
WAYPOINT_SERVER_TLS_SKIP_VERIFY: '1'
script:
- wget -q -O /tmp/waypoint.zip https://releases.hashicorp.com/waypoint/${WAYPOINT_VERSION}/waypoint_${WAYPOINT_VERSION}_linux_amd64.zip
- unzip -d /usr/local/bin /tmp/waypoint.zip
- rm -rf /tmp/waypoint*
- waypoint init
- waypoint build
- waypoint deploy
- waypoint releaseE shihni që fillojmë me imazhin docker:latest dhe vendosim disa variabla ambienti që kërkohen për Waypoint. Në seksionin script shkarkojmë versionin më të fundit të skedarit ekzekutues Waypoint dhe e vendosim në /usr/local/bin. Meqenëse runner-i ynë është tashmë i autorizuar në AWS, ne thjesht fillojmë waypoint init, ndërto, deploy dhe release.
Dërgimi i detyrës së ndërtimit do t'na tregojë endpoint-in ku e kemi shpalosur aplikacionin:

Waypoint është një nga , që funksionojnë shkëlqyer me GitLab. Për shembull, përveç dërgimit të aplikacionit, ne mund të orkestrojmë infrastrukturën në nivelin e poshtëm me . Për standardizimin e sigurisë SDLC, ne gjithashtu mund ta integrojmë për menaxhimin e sekreteve dhe tokeneve në linjat CI/CD, duke ofruar një zgjidhje gjithëpërfshirëse për zhvilluesit dhe administratorët që mbështeten në menaxhimin e sekreteve gjatë zhvillimit, testimit, dhe përdorimit industrial.
Zgjidhjet e krijuara nga HashiCorp dhe GitLab i ndihmojnë kompanitë të gjejnë mënyrën më të mirë për të zhvilluar aplikacione, duke siguruar një menaxhim të koherencës së flukseve të furnizimit dhe infrastrukturës. Waypoint bëri një hap tjetër në drejtimin e duhur, dhe ne presim me padurim vazhdimin e projektit. Mund të mësoni më shumë rreth Waypoint , gjithashtu ia vlen të shqyrtohet dhe të projektit. Ne kemi shtuar njohuritë që kemi marrë në . Nëse dëshironi ta provoni gjithçka në punë vetë, mund të merrni një shembull të plotë të funksionimit në .
Të kuptoni parimet e CI/CD, të zotëroni të gjitha hollësitë e punës me Gitlab CI dhe të filloni të aplikoni praktikat më të mira mund të bëhet duke kaluar nëpër kursin me video . Bashkohuni!
Burimi: habr.com
