
HashiCorp visade ett nytt projekt pÄ . Den anvÀnder en HCL-baserad fil för att beskriva att bygga, skicka och slÀppa applikationer för olika molnplattformar, allt frÄn Kubernetes till AWS och Google Cloud Run. TÀnk pÄ Waypoint som Terraform och Vagrant sammansatta för att beskriva processen att bygga, skicka och slÀppa dina applikationer.
Vanligen har HashiCorp slÀppt Waypoint som öppen kÀllkod, och den kommer med mÄnga exempel. NivÄn pÄ orkestratorn Àr upp till dig, Waypoint kommer som en körbar fil som du kan köra direkt pÄ din bÀrbara dator eller frÄn ditt val av CI/CD-orkestreringsverktyg. Programmets implementeringsmÄl Àr ocksÄ upp till dig, eftersom Waypoint stöder Kubernetes, Docker, Google Cloud Run, AWS ECS och mer.
Efter att ha lÀst den fantastiska och den snyggaste applikationer frÄn HashiCorp bestÀmde vi oss för att titta nÀrmare pÄ Waypoint-orkestrering med GitLab CI/CD. För att göra detta tar vi en enkel Node.js-applikation som körs pÄ AWS ECS frÄn provförvaret.
Efter att ha klonat förvaret, lÄt oss titta pÄ strukturen för programmet som visar en sida:

Som du kanske har mÀrkt finns det ingen Dockerfile i det hÀr projektet. De lÀggs inte till i exemplet eftersom vi egentligen inte behöver dem, eftersom Waypoint tar hand om dem Ät oss. LÄt oss ta en nÀrmare titt pÄ filen waypoint.hclför att förstÄ vad det kommer att göra:
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"
}
}
}Under byggfasen anvÀnder Waypoint Cloud Native Buildpacks () för att bestÀmma projektets programmeringssprÄk och skapa en Docker-bild utan att anvÀnda en Dockerfil. I princip Àr detta samma teknik som delvis anvÀnds av GitLab i steget Autobygg. Det Àr fantastiskt att se CNCF:s CNB fÄ acceptans bland industrianvÀndare.
NÀr bilden Àr byggd kommer Waypoint automatiskt att ladda upp den till vÄrt AWS ECR-register sÄ att den Àr redo att skickas. I slutet av monteringen anvÀnder leveranssteget för att distribuera vÄr applikation till vÄrt AWS-konto.
FrÄn min bÀrbara dator Àr det enkelt. Jag lÀgger in Waypoint som redan Àr autentiserat i mitt AWS-konto och det "bara fungerar". Men vad hÀnder om jag vill gÄ lÀngre Àn min bÀrbara dator? Eller kanske jag vill automatisera den hÀr distributionen som en del av min övergripande CI/CD-pipeline dÀr mina nuvarande integrationstester, sÀkerhetstester och andra körs? Det hÀr Àr den del av historien dÀr GitLab CI/CD kommer in!
NB Om du bara planerar att implementera CI/CD eller vill börja tillÀmpa de bÀsta metoderna för att bygga pipelines, var uppmÀrksam pÄ den nya Slurm-kursen. . Den Àr nu tillgÀnglig för förbestÀllningspris.
Waypoint i GitLab CI/CD
För att orkestrera allt detta i GitLab CI/CD, lÄt oss se vad vi behöver i vÄr fil .gitlab-ci.yml:
- Först och frÀmst behöver du en basavbildning att köra inom. Waypoint körs pÄ vilken distribution som helst. Linux, den behöver bara Docker, sÄ vi kan köra frÄn en generisk Docker-avbildning.
- DÀrefter mÄste du installera Waypoint i den hÀr bilden. I framtiden kan vi samla in och containerisera denna process för dig sjÀlv.
- Slutligen kommer vi att köra Waypoint-kommandona
Ovan Àr allt som vÄr pipeline behöver för att köra de skript som behövs för att utföra distributionen, men för att distribuera till AWS behöver vi en sak till: vi mÄste logga in pÄ vÄrt AWS-konto. I Waypoint-beskrivning om autentisering och auktorisering. HashiCorp slÀppte ocksÄ ett imponerande projekt denna vecka . Men för nÀrvarande kan vi bara ta och hantera autentisering och auktorisering sjÀlva.
Det finns flera alternativ för GitLab CICD-autentisering pÄ AWS. Det första alternativet Àr att anvÀnda den inbyggda . Det Àr bra om ditt team redan anvÀnder Arkiv för autentiseringshantering. En annan metod som fungerar om ditt team hanterar auktorisering med AWS IAM Àr att kontrollera att leveransuppgifter utlöses via En som Àr auktoriserad att starta distributionen via IAM. Men om du bara vill bli bekant med Waypoint och vill göra det snabbt, Àr det sista alternativet att lÀgga till din AWS API och hemliga nycklar till AWS_ACCESS_KEY_ID О AWS_SECRET_ACCESS_KEY.
Att sÀtta allt ihop
NÀr vi har listat ut autentiseringen kan vi börja! VÄr final .gitlab-ci.yml ser ut sÄ hÀr:
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 releaseDu ser att vi börjar med en bild docker:latest och stÀll in nÄgra miljövariabler som krÀvs av Waypoint. I kapitel script vi laddar ner den senaste körbara Waypoint-filen och lÀgger in den /usr/local/bin. Eftersom vÄr löpare redan Àr auktoriserad i AWS sÄ springer vi helt enkelt waypoint init, build, deploy О release.
Utdata frÄn bygguppgiften kommer att visa oss slutpunkten dÀr vi rullade applikationen:

Waypoint en av , som fungerar utmÀrkt med GitLab. Till exempel kan vi förutom att leverera applikationen orkestrera den underliggande infrastrukturen med . För att standardisera SDLC-sÀkerhet kan vi Àven implementera för hantering av hemligheter och tokens i CI/CD-pipelines, vilket ger en komplett lösning för utvecklare och administratörer som förlitar sig pÄ hemlig hantering för utveckling, testning och produktionsanvÀndning.
Gemensamma lösningar utvecklade av HashiCorp och GitLab hjÀlper företag att hitta det bÀsta sÀttet att utveckla applikationer genom att sÀkerstÀlla konsekvent försörjningskedja och infrastrukturhantering. Waypoint har tagit ytterligare ett steg i rÀtt riktning och vi ser fram emot fortsatt utveckling av projektet. Du kan lÀra dig mer om Waypoint ocksÄ vÀrt att utforska О projekt. Vi har tillfört vÄr kunskap . Om du vill prova det sjÀlv kan du kolla in det kompletta arbetsexemplet pÄ .
Du kan förstÄ principerna för CI/CD, behÀrska alla finesser i att arbeta med Gitlab CI och börja tillÀmpa bÀsta praxis genom att slutföra videokursen . GÄ med nu!
KĂ€lla: will.com
