
HashiCorp nÀitas uut projekti edasi . See kasutab HCL-pÔhist faili, et kirjeldada erinevate pilveplatvormide jaoks mÔeldud rakenduste koostamist, tarnimist ja vabastamist, alates Kubernetesest kuni AWS-i ja lÔpetades Google Cloud Runiga. Rakenduste koostamise, tarnimise ja avaldamise protsessi kirjeldamiseks vÔite mÔelda Waypointist kui Terraformist ja Vagrantist.
TĂ”eliselt on HashiCorp vĂ€lja andnud Waypointi avatud lĂ€htekoodiga ja pakub palju nĂ€iteid. Orkestri kiht on teie otsustada, Waypoint on kĂ€ivitatav fail, mida saate kĂ€ivitada otse oma sĂŒlearvutis vĂ”i valitud CI/CD orkestreerimistööriista abil. Rakenduste juurutamise eesmĂ€rk on samuti teie otsustada, kuna Waypoint toetab Kubernetesi, Dockerit, Google Cloud Runi, AWS ECS-i ja palju muud.
PÀrast vinge lugemist ja kÔige luksuslikum HashiCorpi pakutavate rakenduste puhul otsustasime lÀhemalt uurida Waypointi orkestreerimist GitLab CI/CD abil. Selleks vÔtame nÀidete hoidlast lihtsa Node.js rakenduse, mis töötab AWS ECS-is.
PĂ€rast hoidla kloonimist vaatame ĂŒhte lehte kuvava rakenduse struktuuri:

Nagu olete mĂ€rganud, pole sellel projektil Dockeri faili. Neid pole nĂ€ites lisatud, sest pĂ”himĂ”tteliselt me ââneid ei vaja, sest Waypoint hoolitseb nende eest meie eest. Vaatame faili lĂ€hemalt waypoint.hclet 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"
}
}
}Ehitamisetapis kasutab Waypoint Cloud Native Buildpacke (), et mÀÀrata projekti programmeerimiskeel ja luua Dockeri kujutis ilma Dockerfile'i kasutamata. PĂ”himĂ”tteliselt on see sama tehnoloogia, mida GitLab osaliselt kasutab automaatse ehitamise etapis. On hea nĂ€ha, et CNCF-i CNB on tööstuse kasutajate seas ĂŒha enam kasutusele vĂ”etud.
Kui pilt on koostatud, laadib Waypoint selle automaatselt ĂŒles meie AWS ECR registrisse, et see oleks tarnimiseks valmis. Kui ehitamine on lĂ”petatud, kasutatakse tarneetapp et juurutada meie rakendus meie AWS-i kontole.
Minu sĂŒlearvutist - kĂ”ik on lihtne. Panin oma AWS-i kontole teekonnapunkti, mis on juba autentitud, ja see lihtsalt töötab. Aga mis juhtub, kui ma tahan sĂŒlearvutist kaugemale minna? VĂ”i tahan Ă€kki automatiseerida selle juurutamise osana oma ĂŒldisest CI/CD torustikust, kus kĂ€itatakse minu kĂ€imasolevaid integratsiooniteste, turbeteste ja muud? See on osa loost, kus GitLabi CI/CD tuleb sisse!
NB Kui plaanite alles CI/CD juurutamist vĂ”i soovite hakata rakendama torujuhtmete ehitamise parimaid tavasid, pöörake tĂ€helepanu Slurmi uuele kursusele . NĂŒĂŒd on see saadaval ettetellimishinnaga.
Teekonnapunkt GitLabi CI/CD-s
Selle kÔige korraldamiseks GitLabi CI/CD-s vaatame, mida me oma failis vajame .gitlab-ci.yml:
- Esiteks vajad baaskujutist, mille sees töötama peaks. Waypoint töötab mis tahes distributsioonil. Linux, vajab see ainult Dockerit, seega saame seda kĂ€ivitada ĂŒldise Dockeri pildi pealt.
- JÀrgmisena peate sellele pildile installima Waypointi. Tulevikus vÔime koguda ja mahutage see protsess enda jaoks.
- LÔpuks kÀivitame teekonnapunkti kÀsud
Ălaltoodu kirjeldab kĂ”ike, mida meie konveier vajab juurutamise lĂ”puleviimiseks vajalike skriptide kĂ€itamiseks, kuid AWS-i juurutamiseks vajame veel ĂŒht asja: peame olema oma AWS-i kontole sisse logitud. Teekonnapunkti kirjelduses autentimise ja autoriseerimise kohta. HashiCorp avaldas sel nĂ€dalal ka muljetavaldava projekti . Kuid praegu saame autentimise ja autoriseerimisega lihtsalt ise hakkama.
GitLabi CICD autentimiseks AWS-is on mitu vĂ”imalust. Esimene vĂ”imalus on kasutada sisseehitatud . See on suurepĂ€rane, kui teie meeskond kasutab mandaatide haldamiseks juba Vaulti. Teine vĂ”imalus, mis töötab, kui teie meeskond haldab autoriseerimist AWS IAM-i abil, on kontrollida, kas tarnetoimingud kĂ€ivitatakse , volitatud juurutamist IAM-i kaudu kĂ€ivitama. Kuid kui soovite lihtsalt Waypointiga tutvuda ja soovite seda kiiresti teha, on viimane vĂ”imalus â lisage oma AWS API ja salajased vĂ”tmed AWS_ACCESS_KEY_ID Đž AWS_SECRET_ACCESS_KEY.
KÔik see koos
Kui oleme autentimisest aru saanud, vÔime alustada! Meie finaal .gitlab-ci.yml nÀeb vÀlja selline:
waypoint:
image: docker:latest
stage: build
services:
- docker:dind
# Define environment variables, e.g. `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 releaseNĂ€ete, et alustame pildist docker:latest ja mÀÀrake mitu Waypointi nĂ”utavat keskkonnamuutujat. PeatĂŒkis script laadime alla Waypointi kĂ€ivitatava faili uusima versiooni ja installime selle sisse /usr/local/bin. Kuna meie jooksja on juba AWS-is volitatud, siis jĂ€rgmisena me lihtsalt jookseme waypoint init, build, deploy Đž release.
KoostamisĂŒlesande vĂ€ljund nĂ€itab meile lĂ”pp-punkti, kus me rakenduse kĂ€ivitasime:

Teekonnapunkt ĂŒks , töötab GitLabiga suurepĂ€raselt. NĂ€iteks saame lisaks rakenduse tarnimisele ka selle aluseks oleva infrastruktuuri korraldada . SDLC-turvalisuse standardiseerimiseks saame ka rakendada saladuste ja mĂ€rkide haldamiseks CI/CD torujuhtmetes, pakkudes terviklikku lahendust arendajatele ja administraatoritele, kes loodavad arenduseks, testimiseks ja tootmiseks saladuste haldamisele.
HashiCorpi ja GitLabi vĂ€ljatöötatud ĂŒhislahendused aitavad ettevĂ”tetel leida parema viisi rakenduste arendamiseks, pakkudes tarnetorustike ja infrastruktuuri jĂ€rjepidevat haldamist. Waypoint on astunud jĂ€rjekordse sammu Ă”iges suunas ja ootame huviga projekti jĂ€tkuvat arengut. Lisateavet saate Waypointi kohta , tasub samuti uurida Đž projekt. Oleme omandatud teadmisi lisanud . Kui soovite kĂ”ike ise proovida, vĂ”ite vĂ”tta tĂ€ieliku toimiva nĂ€ite .
Videokursuse lÀbides saate aru CI/CD pÔhimÔtetest, omandada kÔik Gitlab CI-ga töötamise nÔtked ja alustada parimate tavade rakendamist . Liitu kohe!
Allikas: www.habr.com
