
HashiCorp ukázal nový projekt na . Používa súbor založený na HCL na popis zostavovania, poskytovania a vydávania aplikácií pre rôzne cloudové platformy, od Kubernetes cez AWS až po Google Cloud Run. Waypoint si môžete predstaviť ako kombináciu Terraform a Vagrant, aby ste opísali proces vytvárania, prepravy a uvoľňovania vašich aplikácií.
Spoločnosť HashiCorp vydala Waypoint ako open source a prichádza s mnohými príkladmi. Vrstva orchestrátora je na vás, Waypoint prichádza ako spustiteľný súbor, ktorý môžete spustiť priamo na svojom notebooku alebo z vášho nástroja na orchestráciu CI/CD podľa vlastného výberu. Cieľ nasadenia vašich aplikácií je tiež na vás, pretože Waypoint podporuje Kubernetes, Docker, Google Cloud Run, AWS ECS a ďalšie.
Po prečítaní úžasného a najluxusnejšie aplikácií poskytovaných spoločnosťou HashiCorp, rozhodli sme sa bližšie pozrieť na orchestráciu Waypoint pomocou GitLab CI/CD. Aby sme to urobili, vezmeme jednoduchú aplikáciu Node.js spustenú na AWS ECS z úložiska príkladov.
Po naklonovaní úložiska sa pozrime na štruktúru aplikácie zobrazujúcu jednu stránku:

Ako ste si mohli všimnúť, tento projekt nemá súbor Dockerfile. V príklade nie sú pridané, pretože ich v zásade nepotrebujeme, pretože Waypoint sa o ne postará za nás. Pozrime sa bližšie na súbor waypoint.hclaby ste pochopili, čo to urobí:
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"
}
}
}Počas fázy zostavovania Waypoint používa Cloud Native Buildpacks () určiť programovací jazyk projektu a vytvoriť obraz Docker bez použitia súboru Dockerfile. V princípe ide o rovnakú technológiu, ktorú čiastočne využíva aj GitLab v kroku Auto Build. Je dobré vidieť, že ČNB spoločnosti CNCF si získava čoraz väčšie osvojenie medzi používateľmi v priemysle.
Po vytvorení obrázka ho Waypoint automaticky nahrá do nášho registra AWS ECR, aby bol pripravený na doručenie. Po dokončení zostavy sa použije krok doručenia na nasadenie našej aplikácie do nášho účtu AWS.
Z môjho notebooku - všetko je jednoduché. Vložil som Waypoint, ktorý je už overený, do môjho účtu AWS a „len funguje“. Čo sa však stane, ak chcem ísť nad rámec svojho notebooku? Alebo chcem zrazu zautomatizovať toto nasadenie ako súčasť môjho celkového kanála CI/CD, kde prebiehajú moje prebiehajúce integračné testy, bezpečnostné testy a iné? Toto je časť príbehu, kde prichádza GitLab CI/CD!
NB Ak práve plánujete implementovať CI/CD alebo chcete začať uplatňovať osvedčené postupy pri budovaní potrubí, venujte pozornosť novému kurzu Slurm . Teraz je k dispozícii za predobjednávkovú cenu.
Trasový bod v GitLab CI/CD
Aby sme to všetko zorganizovali v GitLab CI/CD, pozrime sa na to, čo potrebujeme v našom súbore .gitlab-ci.yml:
- V prvom rade potrebujete základný obraz, v ktorom budete môcť bežať. Waypoint beží na akejkoľvek distribúcii. Linux, potrebuje iba Docker, takže ho môžeme spustiť z generického obrazu Dockeru.
- Ďalej musíte nainštalovať Waypoint v tomto obrázku. V budúcnosti môžeme zbierať a kontajnerizujte tento proces pre seba.
- Nakoniec spustíme príkazy Waypoint
Vyššie uvedené načrtáva všetko, čo bude náš kanál potrebovať na spustenie skriptov potrebných na dokončenie nasadenia, ale na nasadenie do AWS budeme potrebovať ešte jednu vec: musíme byť prihlásení do nášho účtu AWS. V popise trasového bodu o autentifikácii a autorizácii. HashiCorp tiež vydal tento týždeň pôsobivý projekt . Ale zatiaľ si overenie a autorizáciu môžeme zvládnuť sami.
Existuje niekoľko možností overenia CICD GitLab v AWS. Prvou možnosťou je použitie vstavaného . Je to skvelé, ak váš tím už používa Vault na správu poverení. Ďalšou možnosťou, ktorá funguje, ak váš tím spravuje autorizáciu pomocou AWS IAM, je skontrolovať, či sa úlohy doručenia spúšťajú , oprávnený spustiť nasadenie prostredníctvom IAM. Ak sa však chcete s Waypointom len zoznámiť a chcete to urobiť rýchlo, je tu posledná možnosť – pridať svoje AWS API a tajné kľúče do AWS_ACCESS_KEY_ID и AWS_SECRET_ACCESS_KEY.
Všetko to spolu
Keď pochopíme autentifikáciu, môžeme začať! Naše finále .gitlab-ci.yml vyzerá takto:
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 releaseVidíte, že začíname obrázkom docker:latest a nastavte niekoľko premenných prostredia, ktoré vyžaduje Waypoint. V kapitole script stiahneme si najnovšiu verziu spustiteľného súboru Waypoint a nainštalujeme ho /usr/local/bin. Keďže náš bežec je už autorizovaný v AWS, ďalej jednoducho bežíme waypoint init, build, deploy и release.
Výstup úlohy zostavenia nám ukáže koncový bod, kde sme aplikáciu spustili:

Trasový bod jeden z , funguje skvele s GitLab. Napríklad okrem dodania aplikácie môžeme organizovať aj základnú infraštruktúru . Na štandardizáciu zabezpečenia SDLC môžeme tiež implementovať na správu tajomstiev a tokenov v kanáloch CI/CD, ktoré poskytujú holistické riešenie pre vývojárov a správcov, ktorí sa spoliehajú na správu tajomstiev pri vývoji, testovaní a produkčnom použití.
Spoločné riešenia vyvinuté spoločnosťami HashiCorp a GitLab pomáhajú spoločnostiam nájsť lepší spôsob vývoja aplikácií poskytovaním konzistentnej správy doručovacích potrubí a infraštruktúry. Waypoint urobili ďalší krok správnym smerom a tešíme sa na ďalší rozvoj projektu. Môžete sa dozvedieť viac o Waypoint , tiež stojí za preskúmanie и projektu. Doplnili sme poznatky, ktoré sme získali . Ak si chcete všetko vyskúšať sami, môžete si vziať kompletný pracovný príklad .
Môžete pochopiť princípy CI/CD, zvládnuť všetky zložitosti práce s Gitlab CI a začať uplatňovať osvedčené postupy absolvovaním video kurzu ... Pripoj sa k nám!
Zdroj: hab.com
