
HashiCorp tutvustas uut projekti . Tundub, et . See kasutab HCL-pÔhist faili, et kirjeldada rakenduste koostamist, tarnimist ja vÀljalaset erinevatele pilveplatvormidele alates Kubernetesest kuni AWS ja Google Cloud Runini. Waypointit vÔib pidada Terraformi ja Vagrandi koosmÔjuks, et kirjeldada teie rakenduste koostamise, tarnimise ja vÀljalaske protsessi.
Ilma enda olemust muutmata on HashiCorp vĂ€lja andnud avatud lĂ€htekoodiga Waypoint'i, millele on lisatud arvukalt nĂ€iteid. Orkestreerimise tase jÀÀb teie otsustada; Waypoint on saadaval kĂ€ivitatava failina, mida saad kĂ€ivitada otse oma sĂŒlearvutist vĂ”i valitud CI/CD orkestreerimise tööriistast. Rakenduste juurutamise sihtkoht valitakse samuti teie poolt, kuna Waypoint toetab Kubernetes, Docker, Google Cloud Run, AWS ECS ja teisi.
PÀrast huvitavate ja elegantselt rakendustest, mille on pakkunud HashiCorp, otsustasime uurida Waypoint'i orkestreerimist GitLab CI/CD kaudu. Selleks vÔtame lihtsa Node.js rakenduse, mis töötab AWS ECS-is, nÀidiste hoidlast.
PĂ€rast hoidla kloonimist vaatame rakenduse struktuuri, mis kuvab ĂŒhte lehte:

Nagu olete vÔib-olla mÀrganud, ei ole selles projektis Dockerfile'i. Need ei ole nÀidisesse lisatud, kuna nad pole meile tegelikult vajalikud, sest Waypoint hoolitseb nende eest meie nimel. Vaatame lÀhemalt faili waypoint.hcl, et mÔista, mida see teeb:
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"
}
}
}Koostamise etapis kasutab Waypoint Cloud Native Buildpacke (), et mÀÀrata projekti programmeerimiskeel ja luua Docker'i pilt ilma Dockerfile'i kasutamata. Tegelikult on see sama tehnoloogia, mida GitLab kasutab osa Auto Build'i sammus. Tore nĂ€ha, et CNB CNCF-ist saab ĂŒha rohkem kasutust tööstuses.
Kui pilt on loodud, laadib Waypoint selle automaatselt meie AWS ECR registrisse, et see oleks tarnimiseks valmis. Koostamise lÔppedes kasutab tarnimise etapp , et juurutada meie rakendust meie AWS kontole.
Minu sĂŒlearvutist on kĂ”ik lihtne. Installin Waypoint'i, mis on juba minu AWS kontoga autentitud, ja see "lihtsalt töötab". Aga mis siis, kui ma tahan minna kaugemale oma sĂŒlearvutist? VĂ”i Ă€kki tahan automatiseerida seda juurutamist osana mu ĂŒldisest CI/CD torustikust, kus jooksevad mu hetke integratsiooni testid, turvatestid ja muud? See on see osa jutust, kus tuleb mĂ€ngu GitLab CI/CD!
MÀrkus. Kui te alles plaanite CI/CD rakendamist vÔi soovite alustada parimate praktikate rakendamisega torustike loomisel, pöörake tÀhelepanu uuele SlÔerma kursusele . See on praegu saadaval eeltellimise hinnaga.
Waypoint GitLab CI/CD-s
Selleks, et kÔike seda orkestreerida GitLab CI/CD-s, vaatame, mida meil meie failis vaja lÀheb. .gitlab-ci.yml:
- Esiteks, vajame pÔhi pilti, mille sees seda kÀivitada. Waypoint töötab igasugustel Linuxi distributsioonidel, selleks on ainult vajalik Docker, seega saame kÀivituda generiiliselt Docker'i pildilt.
- SeejÀrel tuleb see pilt Waypoint'iga varustada. Tulevikus saame koguda ja konteineriseerida selle protsessi enda jaoks.
- LÔpuks kÀivitame Waypoint'i kÀsud.
Ălalpool on kirjeldatud kĂ”ik, mida meie torustik vajab juurutamiseks vajalike skriptide kĂ€ivitamiseks, kuid AWS-sse juurutamiseks vajame veel ĂŒhte asja: peame meie AWS kontosse autentima. Waypoint'i kirjelduses autentimise ja autoriseerimise kohta. HashiCorp esitles sel nĂ€dalal ka muljetavaldavat projekti . Kuid hetkel saame lihtsalt autentimise ja autoriseerimise ise Ă€ra teha.
AWS autentimiseks GitLab CI/CD-s on mitu valikut. Esimene variant on kasutada sisseehitatud See sobib, kui teie meeskond juba kasutab Vault'i oma mandaadi haldamiseks. Veel ĂŒks viis, mis sobib, kui teie meeskond haldab autoriseerimist AWS IAM kaudu - veenduge, et tarnimisĂŒlesanded kĂ€ivitatakse , mis on IAM kaudu juurutamiseks autoriseeritud. Aga kui soovite lihtsalt Waypoint'iga tutvuda ja teha seda kiiremini, on viimane variant - lisada oma AWS API ja Secret vĂ”tmed AWS_ACCESS_KEY_ID ja AWS_SECRET_ACCESS_KEY.
Kogume kÔik kokku
NĂŒĂŒd, kui oleme autentimisega valmis, saame alustada! Meie lĂ”plik .gitlab-ci.yml nĂ€eb vĂ€lja nagu:
waypoint:
image: docker:latest
stage: build
services:
- docker:dind
# MÀÀratlege keskkonnamuutujad, nt `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 releaseTe nÀete, et me alustame pildiga docker:latest ja seadistame mÔned Waypointi jaoks vajalikud keskkonnamuutujad. Jaotises script laadime alla viimase versiooni Waypointi tÀitmisfailist ja paigaldame selle /usr/local/bin. Kuna meie runner on juba AWS-is autentitud, kÀivitame edaspidi lihtsalt waypoint init, build, deploy ja release.
Kogumise ĂŒlesande vĂ€ljund nĂ€itab meile lĂ”pp-punkti, kuhu me rakenduse deployâisime:

Waypoint on ĂŒks , mis töötavad hĂ€sti koos GitLabiga. NĂ€iteks peale rakenduse tarnimise saame samal ajal orkestreerida alumist infrastruktuuri kasutades . SDLC turvalisuse standardiseerimiseks saame samuti integreerida salajaste ja tokenite haldamiseks CI/CD torustes, pakkudes terviklikku lahendust arendajatele ja administraatoritele, kes tuginevad salajaste haldusele arengu-, testimis- ja tootmisprotsessides.
HashiCorpi ja GitLabi koostöölahendused aitavad ettevĂ”tetel leida parim viis rakenduste arendamiseks, tagades jĂ€rjepideva tarnimise juhtimise ja infrastruktuuri. Waypoint on teinud veel ĂŒhe edusammu Ă”igesse suunda, ja ootame pĂ”nevusega projekti edasist arengut. Rohkem teavet Waypointi kohta leiate , samuti tasub uurida ja Oleme meie saadud teadmised lisanud . Kui soovite ise kĂ”ike töös proovida, saate kogu töökorras nĂ€ite .
CI/CD pĂ”himĂ”tete mĂ”istmiseks, GitLab CI kasutamise kĂ”igi nĂŒansside omandamiseks ja parimate praktikate rakendamiseks saate lĂ€bitud videokursuse . Liituge!
Allikas: habr.com
