
HashiCorp шинэ төслийг үзүүлэв тухай . Энэ нь HCL-д суурилсан файлыг ашиглан Kubernetes, AWS, Google Cloud Run хүртэлх олон төрлийн үүлэн платформд зориулсан програмуудыг бүтээх, хүргэх, гаргахыг тайлбарладаг. Та Waypoint-ийг Terraform болон Vagrant-ийн хосолсон программуудыг бүтээх, тээвэрлэх, гаргах үйл явцыг тайлбарлах боломжтой гэж бодож болно.
Үнэн хэрэгтээ HashiCorp нь Waypoint-ийг нээлттэй эх сурвалж болгон гаргасан бөгөөд олон жишээн дээр ирдэг. Оркестраторын давхарга нь танаас шалтгаална, Waypoint нь гүйцэтгэх файл хэлбэрээр ирдэг бөгөөд та зөөврийн компьютер дээрээ эсвэл өөрийн сонгосон CI/CD зохион байгуулах хэрэгслээс шууд ажиллуулж болно. Waypoint нь Kubernetes, Docker, Google Cloud Run, AWS ECS болон бусад програмуудыг дэмждэг тул таны аппликешнүүдийг байршуулах зорилго нь танаас хамаарна.
Гайхалтай уншсаны дараа бас хамгийн тансаг HashiCorp-аас өгсөн програмуудын хувьд бид GitLab CI/CD ашиглан Waypoint зохион байгуулалтыг нарийвчлан судлахаар шийдсэн. Үүнийг хийхийн тулд бид жишээ репозитороос AWS ECS дээр ажилладаг энгийн Node.js програмыг авна.
Хадгалах газрыг клончилсны дараа нэг хуудсыг харуулсан програмын бүтцийг харцгаая.

Энэ төсөлд Dockerfile байхгүй гэдгийг та анзаарсан байх. Тэдгээрийг жишээн дээр нэмээгүй, учир нь зарчмын хувьд бидэнд хэрэггүй, учир нь Waypoint бидний өмнөөс тэдэнд анхаарал тавих болно. Файлыг нарийвчлан авч үзье waypoint.hclюу хийхийг ойлгохын тулд:
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"
}
}
}Бүтээцийн үе шатанд Waypoint нь Cloud Native Buildpacks () төслийн програмчлалын хэлийг тодорхойлж, Dockerfile ашиглахгүйгээр Docker дүрс үүсгэх. Зарчмын хувьд энэ нь GitLab хэсэгчлэн ашигладаг технологи юм Автомат бүтээх алхам дээр. CNCF-ийн CNB нь салбарын хэрэглэгчдийн дунд улам бүр түгээмэл болж байгааг харахад таатай байна.
Зургийг бүтээсний дараа Waypoint нь үүнийг манай AWS ECR бүртгэлд автоматаар байршуулж, хүргэхэд бэлэн болно. Барилга дууссаны дараа хүргэх алхамыг ашиглана Манай програмыг AWS бүртгэлдээ байрлуулах.
Миний зөөврийн компьютерээс - бүх зүйл энгийн. Би AWS бүртгэлдээ баталгаажуулсан Waypoint-г оруулсан бөгөөд энэ нь "зүгээр л ажилладаг". Гэхдээ би зөөврийн компьютерээсээ цааш явахыг хүсвэл яах вэ? Эсвэл би энэ суулгацыг CI/CD-ийн нэг хэсэг болгон автоматжуулахыг хүсэж байна уу? Энэ бол GitLab CI/CD орж ирдэг түүхийн хэсэг юм!
NB Хэрэв та зүгээр л CI/CD-г хэрэгжүүлэхээр төлөвлөж байгаа эсвэл шугам хоолой барих шилдэг туршлагыг хэрэгжүүлж эхлэхийг хүсч байгаа бол Slurm-ийн шинэ сургалтанд анхаарлаа хандуулаарай. . Одоо урьдчилсан захиалгын үнээр авах боломжтой.
GitLab CI/CD дэх зам цэг
Энэ бүгдийг GitLab CI/CD дээр зохион байгуулахын тулд файлдаа юу хэрэгтэй байгааг харцгаая. .gitlab-ci.yml:
- Юуны өмнө та дотор нь ажиллуулахын тулд үндсэн зураг хэрэгтэй. Waypoint нь ямар ч Linux түгээлт дээр ажилладаг, түүнд зөвхөн Docker хэрэгтэй байдаг тул бид ерөнхий Docker дүрстэй ажиллах боломжтой.
- Дараа нь та энэ зурган дээр Wapoint програмыг суулгах хэрэгтэй. Ирээдүйд бид цуглуулж магадгүй мөн энэ үйл явцыг өөртөө зориул.
- Эцэст нь бид Waypoint командуудыг ажиллуулна
Дээр дурдсан зүйлс нь суулгацыг дуусгахад шаардлагатай скриптүүдийг ажиллуулахад шаардлагатай бүх зүйлийг тодорхойлсон боловч AWS-д байршуулахын тулд бидэнд өөр нэг зүйл хэрэгтэй болно: бид AWS бүртгэлдээ нэвтэрсэн байх ёстой. Замын цэгийн тайлбарт баталгаажуулалт ба зөвшөөрлийн тухай. HashiCorp мөн энэ долоо хоногт гайхалтай төсөл гаргасан . Гэхдээ одоохондоо бид баталгаажуулалт, зөвшөөрлийг өөрсдөө шийдэж чадна.
AWS дахь GitLab CICD баталгаажуулалтын хэд хэдэн сонголт байдаг. Эхний сонголт бол суулгацыг ашиглах явдал юм . Хэрэв танай баг итгэмжлэлийн менежментэд Vault ашигладаг бол энэ нь маш сайн хэрэг. Хэрэв танай баг AWS IAM ашиглан зөвшөөрлийг удирдаж байгаа бол ажиллах өөр нэг сонголт бол хүргэх даалгаврууд хэрэгжиж байгаа эсэхийг шалгах явдал юм. , IAM-ээр дамжуулан байршуулалтыг ажиллуулах эрхтэй. Гэхдээ хэрэв та зүгээр л Waypoint-тэй танилцахыг хүсч, үүнийг хурдан хийхийг хүсч байвал сүүлийн нэг сонголт байна - AWS API болон Нууц түлхүүрүүдийг AWS_ACCESS_KEY_ID и AWS_SECRET_ACCESS_KEY.
Бүгдийг нь нийлүүлж байна
Баталгаажуулалтыг ойлгосны дараа бид эхэлж болно! Бидний финал .gitlab-ci.yml иймэрхүү харагдаж байна:
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 releaseБид зургаас эхэлж байгааг та харж байна docker:latest болон Waypoint-д шаардлагатай хэд хэдэн орчны хувьсагчийг тохируулна. Бүлэгт script Бид Waypoint программын хамгийн сүүлийн хувилбарыг татаж аваад суулгана /usr/local/bin. Манай гүйгч аль хэдийн AWS-д зөвшөөрөл авсан тул дараа нь бид зүгээр л гүйдэг waypoint init, build, deploy и release.
Бүтээх даалгаврын гаралт нь бидний програмыг гаргасан эцсийн цэгийг харуулах болно:

Замын цэгийн нэг , GitLab-тай маш сайн ажилладаг. Жишээлбэл, бид програмыг хүргэхээс гадна үндсэн дэд бүтцийг ашиглан зохион байгуулж болно . SDLC аюулгүй байдлыг стандартчилахын тулд бид бас хэрэгжүүлж болно CI/CD дамжуулах хоолой дахь нууц болон жетоныг удирдахад зориулагдсан бөгөөд хөгжүүлэлт, туршилт, үйлдвэрлэлийн ашиглалтын нууцын удирдлагад тулгуурладаг хөгжүүлэгчид болон администраторуудад зориулсан цогц шийдэл юм.
HashiCorp болон GitLab-ийн боловсруулсан хамтарсан шийдлүүд нь компаниудад хүргэх дамжуулах хоолой, дэд бүтцийн тогтвортой удирдлагаар хангах замаар програмуудыг хөгжүүлэх илүү сайн арга замыг олоход тусалдаг. Замын цэг нь зөв чиглэлд өөр нэг алхам хийсэн бөгөөд бид төслийн цаашдын хөгжлийг тэсэн ядан хүлээж байна. Та Waypoint-ийн талаар илүү ихийг олж мэдэх боломжтой , бас судлах нь зүйтэй и төсөл. Бид олж авсан мэдлэгээ нэмсэн . Хэрэв та бүх зүйлийг өөрөө туршиж үзэхийг хүсч байвал бүрэн ажлын жишээг авч болно .
Та CI/CD-ийн зарчмуудыг ойлгож, Gitlab CI-тэй ажиллах бүх нарийн ширийн зүйлийг эзэмшиж, видео хичээлд сууснаар шилдэг туршлагуудыг хэрэгжүүлж эхлэх боломжтой. . Бидэнтэй нэгд!
Эх сурвалж: www.habr.com
