ProHoster > Blog > Adminisztráció > A HashiCorp Waypoint használata a GitLab CI/CD-vel való együttműködéshez
A HashiCorp Waypoint használata a GitLab CI/CD-vel való együttműködéshez
A HashiCorp egy új projektet mutatott be Waypoint on HashiCorp Digital. HCL-alapú fájl segítségével írja le az alkalmazások építését, szállítását és kiadását különféle felhőplatformokhoz, a Kubernetestől az AWS-ig és a Google Cloud Run-ig. Tekintse a Waypointot úgy, mint a Terraformot és a Vagrant-et, amely az alkalmazások felépítésének, szállításának és kiadásának folyamatát írja le.
A HashiCorp szokásához híven kiadta a Waypointot nyílt forráskódúként, és rengeteg példát tartalmaz. A hangszerelő szintje Önön múlik, a Waypoint végrehajtható fájlként érkezik, amelyet közvetlenül a laptopján vagy a választott CI/CD hangszerelési eszközéről futtathat. Az alkalmazástelepítési cél is rajtad múlik, mivel a Waypoint támogatja a Kubernetes, a Docker, a Google Cloud Run, az AWS ECS stb.
Miután elolvasta a fantasztikus dokumentáció és a legmenőbb példák A HashiCorp által biztosított alkalmazásokhoz úgy döntöttünk, hogy közelebbről megvizsgáljuk a Waypoint hangszerelését GitLab CI/CD-vel. Ehhez egy AWS ECS-en futó egyszerű Node.js alkalmazást veszünk a mintatárból.
A tár klónozása után nézzük meg az egy oldalt megjelenítő alkalmazás szerkezetét:
Amint azt észrevette, ebben a projektben nincs Dockerfile. A példában nincsenek hozzáadva, mert nincs is rájuk igazán szükségünk, mert a Waypoint gondoskodik róluk helyettünk. Nézzük meg közelebbről a fájlt waypoint.hclhogy megértsük, mit fog tenni:
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 építési szakaszban a Waypoint Cloud Native Buildpacket (CNB) a projekt programozási nyelvének meghatározásához és Docker-fájl létrehozásához Dockerfile használata nélkül. Elvileg ez ugyanaz a technológia, amelyet részben a GitLab használ Auto DevOps az Auto Build lépésben. Nagyszerű látni, hogy a CNCF CNB-je egyre inkább elterjed az iparági felhasználók körében.
Amint a kép elkészült, a Waypoint automatikusan feltölti azt az AWS ECR nyilvántartásunkba, hogy készen álljon a szállításra. Az összeszerelés végén a szállítási lépés használja AWS ECS kiegészítő hogy telepítsük alkalmazásunkat AWS-fiókunkba.
A laptopomról egyszerű. Beraktam a Waypointot, ami már hitelesítve van az AWS-fiókomban, és "csak működik". De mi történik, ha túl akarok lépni a laptopomon? Vagy esetleg szeretném automatizálni ezt a központi telepítést a teljes CI/CD folyamat részeként, ahol a jelenlegi integrációs tesztjeim, biztonsági tesztjeim és egyebek futnak? Ez az a része a történetnek, ahol megjelenik a GitLab CI/CD!
NB Ha csak a CI / CD bevezetését tervezi, vagy el szeretné kezdeni a legjobb gyakorlatok alkalmazását a csővezetékek építéséhez, figyeljen az új Slurm tanfolyamra. "CI/CD a Gitlab CI példáján". Már előrendelhető áron elérhető.
Útpont a GitLab CI/CD-ben
Hogy mindezt GitLab CI/CD-ben hangszerelhessük, nézzük meg, mire van szükségünk a fájlunkban .gitlab-ci.yml:
Először is szükség van egy alapképre, hogy futni tudjon benne. A Waypoint bármilyen Linux disztribúción fut, csak Docker kell hozzá, így egy általános Docker képpel tudunk futni.
Ezután telepítenie kell a Waypointot ebbe a képbe. A jövőben gyűjthetünk meta build kép és konténerezd magadnak ezt a folyamatot.
Végül lefuttatjuk az Útpont parancsokat
Fent van minden, amire a folyamatunknak szüksége lesz a telepítés végrehajtásához szükséges szkriptek futtatásához, de az AWS-be történő telepítéshez még egy dologra van szükségünk: be kell jelentkeznünk az AWS-fiókunkba. Az útpont leírásában vannak tervei a hitelesítésről és az engedélyezésről. A HashiCorp ezen a héten egy lenyűgöző projektet is kiadott Határ. De egyelőre csak magunk tudjuk kezelni a hitelesítést és az engedélyezést.
Számos lehetőség van a GitLab CICD-hitelesítésére az AWS-en. Az első lehetőség a beépített eszköz használata HashiCorp Vault. Rendben van, ha csapata már használja a Vault szolgáltatást a hitelesítési adatok kezelésére. Egy másik módszer, amely akkor működik, ha csapata az AWS IAM használatával kezeli az engedélyezést, hogy ellenőrizze, hogy a kézbesítési feladatok a GitLab RunnerA, amely jogosult a központi telepítés elindítására az IAM-en keresztül. De ha csak meg akarja ismerni a Waypointot, és gyorsan meg akarja tenni, az utolsó lehetőség az, hogy hozzáadja az AWS API-t és a titkos kulcsokat GitLab CI/CD környezeti változókAWS_ACCESS_KEY_ID и AWS_SECRET_ACCESS_KEY.
Mindezt együtt
Miután kitaláltuk a hitelesítést, kezdhetjük! A döntőnk .gitlab-ci.yml így néz ki:
Látod, egy képpel kezdjük docker:latest és állítson be néhány, a Waypoint által megkövetelt környezeti változót. fejezetben script letöltjük a legújabb Waypoint futtatható fájlt és betesszük /usr/local/bin. Mivel futónk már jogosult az AWS-re, egyszerűen futunk waypoint init, build, deploy и release.
Az összeállítási feladat kimenete megmutatja nekünk azt a végpontot, ahol az alkalmazást görgettük:
Útpont az egyik számos HashiCorp megoldás, amelyek remekül működnek a GitLabbal. Például az alkalmazás leszállítása mellett a mögöttes infrastruktúrát is hangszerelhetjük vele Terraform a GitLabban. Az SDLC biztonság szabványosítására is megvalósíthatjuk GitLab a Vault-tal CI/CD-folyamatokban lévő titkok és tokenek kezelésére, teljes körű megoldást nyújtva a fejlesztőknek és adminisztrátoroknak, akik a fejlesztés, a tesztelés és a gyártás során a titkos kezelésre támaszkodnak.
A HashiCorp és a GitLab által kifejlesztett közös megoldások a következetes ellátási lánc- és infrastruktúra-kezelés biztosításával segítenek a vállalatoknak megtalálni az alkalmazások fejlesztésének legjobb módját. A Waypoint újabb lépést tett a helyes irányba, és kíváncsian várjuk a projekt további fejlesztését. A Waypointról többet megtudhat ittis érdemes felfedezni dokumentáció и fejlesztési Terv projekt. Hozzáadtuk tudásunkat GitLab CICD dokumentáció. Ha saját maga szeretné kipróbálni, megtekintheti a teljes működő példát a következő címen: ezt az adattárat.
A videó tanfolyam elvégzésével megértheti a CI / CD alapelveit, elsajátíthatja a Gitlab CI-vel való munka minden finomságát, és elkezdheti alkalmazni a legjobb gyakorlatokat "CI/CD a Gitlab CI példáján". Csatlakozz most!