
A HashiCorp bemutatta új projektjét Gyorsan emlékezzünk vissza, hogyan működik a moduláris aritmetika. Az óra már egy ismert koncepció. Az órák használata . Ez egy HCL-alapú fájlt használ az alkalmazások összeállításának, szállításának és kiadásának leírására különböző felhőplatformok számára, kezdve a Kubernetestől egészen az AWS-ig és a Google Cloud Run-ig. Elképzelhető, hogy a Waypoint a Terraform és a Vagrant kombinációja az alkalmazásaink összeállítási, szállítási és kiadási folyamatainak leírására.
Hűen önmagához, a HashiCorp nyílt forráskódú módon adta ki a Waypointot, amelyhez számos példa is tartozik. Az, hogy melyik rendszerezőt használja, az Ön döntése, mivel a Waypoint végrehajtható fájlként kerül forgalmazásra, amelyet közvetlenül a laptopján vagy az általa választott CI/CD orchestrációs eszközből indíthat el. A cél az alkalmazások telepítése szintén az Ön választása, mivel a Waypoint támogatja a Kubernetes-t, Docker-t, Google Cloud Run-t, AWS ECS-t és másokat.
Olvasva az elképesztő és nagyszerű alkalmazásokat, amelyeket a HashiCorp kínál, közelebbről megvizsgáltuk a Waypoint orkestrációját a GitLab CI/CD segítségével. Ehhez egy egyszerű Node.js alkalmazást veszünk, amely az AWS ECS-en fut, a példa repozitóriumból.
Miután lemásoltuk a repozitóriumot, megnézzük az alkalmazás felépítését, amely egyoldalas megjelenítést nyújt:

Ahogyan észrevette, ebben a projektben nincs Dockerfile. Azért nem szerepelnek a példában, mert valójában nincs szükség rájuk, mivel a Waypoint gondoskodik róluk helyettünk. Nézzük meg alaposabban a fájlt waypoint.hcl, hogy megértsük, mit fog csinálni:
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"
}
}
}Az összeállítási folyamat során a Waypoint Cloud Native Buildpackokat () használ, hogy meghatározva a projekt programozási nyelvét, Docker képet állítson elő Dockerfile nélkül. Ez tulajdonképpen ugyanaz a technológia, amelyet a GitLab használ az Auto Build lépésében. Jó látni, hogy a CNB a CNCF-től egyre nagyobb elismerést kap az iparági felhasználóktól.
Amint a kép elkészül, a Waypoint automatikusan feltölti azt az AWS ECR registry-be, hogy készen álljon a szállításra. Az összeállítás befejeztével a szállítási lépés az használja az alkalmazásunk telepítésére az AWS fiókunkba.
A laptopomról minden egyszerű. Telepítem a Waypointot, amely már hitelesítve van az AWS fiókomban, és "egyszerűen működik". De mi van, ha szeretnék túllépni a laptopomon? Vagy ha hirtelen automatizálni szeretném ezt a telepítést a CI/CD csővezetékem részeként, ahol a jelenlegi integrációs tesztjeim, biztonsági tesztjeim és egyéb tesztek futnak? Itt lép be a történetbe a GitLab CI/CD!
Figyelem. Ha még csak tervezed a CI/CD bevezetését, vagy a legjobb gyakorlatokat szeretnéd alkalmazni a csővezetékek építése során, nézd meg a Slurm új tanfolyamát. . Jelenleg előrendelési áron elérhető.
Waypoint a GitLab CI/CD-ben
Az egésznek az orkestrálásához a GitLab CI/CD-ben nézzük meg, hogy mire lesz szükség a fájlunkban. .gitlab-ci.yml:
- Először is szükség van egy alapképre, amelyen futni fog. A Waypoint bármilyen Linux disztribúcióval működik, csak Docker szükséges, így egy általános Docker képből indulhatunk.
- Ezután telepíteni kell a Waypointot erre a képre. A jövőben összeállíthatunk és konténerizálhatjuk ezt a folyamatot magunknak.
- Végül végrehajtjuk a Waypoint parancsokat.
Fent minden szükséges dolgot felsoroltunk, amire a csővezetékünknek szüksége van a telepítési szkriptek futtatásához, de az AWS-be való telepítéshez szükségünk lesz még egy dologra: be kell jelentkeznünk az AWS fiókunkba. A Waypoint leírásában a hitelesítésről és jogosultságokról. A HashiCorp ezen a héten egy lenyűgöző projektet is kiadott . De egyelőre egyszerűen megoldhatjuk a hitelesítést és a jogosultságokat magunk is.
Az AWS-hez való GitLab CICD hitelesítésnek több lehetősége van. Az első lehetőség a beépített . Ez jól jöhet, ha a csapatod már használja a Vaultot a hitelesítési adatok kezelésére. Egy másik módszer, ami hasznos, ha a csapatod az AWS IAM-en keresztül végzi a jogosultságkezelést – ellenőrizd, hogy a szállítási feladatok az IAM-en keresztül jogosultak a telepítés végrehajtására. De ha csak meg szeretnéd ismerni a Waypointot, és ezt gyorsabban szeretnéd megtenni, van egy utolsó lehetőség – add hozzá az AWS API és Secret kulcsaidat a GitLab CI/CD környezeti változóiba. AWS_ACCESS_KEY_ID és AWS_SECRET_ACCESS_KEY.
Miután megoldottuk a hitelesítést, kezdhetjük! A végső
így néz ki: .gitlab-ci.yml így néz ki:
waypoint:
image: docker:latest
stage: build
services:
- docker:dind
# Környezeti változók definiálása, pl. `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 releaseLátja, hogy az image-el kezdjük docker:latest és beállítunk néhány környezeti változót, amely szükséges a Waypoint számára. A script szakaszban letöltjük a Waypoint legújabb verzióját és telepítjük azt a /usr/local/binmappába. Mivel a futtatónk már be van jelentkezve az AWS-be, tovább a waypoint init, build, after_deploy és release.
A build feladat kimenete megmutatja nekünk az endpointot, ahová az alkalmazást telepítettük:

A Waypoint az egyik , ami kiválóan működik a GitLab-lal. Például az alkalmazás telepítése mellett orkestrálhatjuk az alatta lévő infrastruktúrát a . A SDLC biztonságának standardizálása érdekében a is integrálhatjuk a titkok és tokenek kezelésére a CI/CD folyamatok során, átfogó megoldást biztosítva a fejlesztőknek és rendszergazdáknak, akik a titkok kezelésére támaszkodnak a fejlesztés, tesztelés és ipari használat során.
A HashiCorp és a GitLab által fejlesztett közös megoldások segítik a vállalatokat abban, hogy megtalálják a legjobb módszert az alkalmazások fejlesztésére, biztosítva a következetes szállítási folyamatok és infrastruktúra kezelését. A Waypoint egy újabb lépést tett a helyes irányba, és izgatottan várjuk a projekt további fejlődését. További információt találhat a Waypointról, emellett érdemes áttanulmányozni a és a projekthez. A megszerzett tudásunkat beleraktuk a Ha szeretné önállóan kipróbálni az egészet, elérheti a teljes működő példát a .
A CI/CD alapelveit megérteni, a Gitlab CI használatának minden finomságát elsajátítani és a legjobb gyakorlatokat alkalmazni lehet videokurzusunk elvégzésével. Csatlakozzon!
Forrás: habr.com
