HashiCorp лоиҳаи навро нишон дод
Дуруст аст, ки HashiCorp Waypoint-ро ҳамчун манбаи кушода баровардааст ва он бо мисолҳои зиёд меояд. Сатҳи оркестр ба шумо вобаста аст, Waypoint ҳамчун файли иҷрошаванда меояд, ки шумо метавонед мустақиман дар ноутбуки худ ё аз асбоби интихобии оркестри CI/CD кор кунед. Ҳадафи густариши барнома низ ба шумо вобаста аст, зеро Waypoint Kubernetes, Docker, Google Cloud Run, AWS ECS ва ғайраҳоро дастгирӣ мекунад.
Пас аз хондани олиҷаноб
Пас аз клон кардани анбор, биёед ба сохтори барномае, ки як саҳифаро намоиш медиҳад, бубинем:
Тавре ки шумо пайхас кардаед, дар ин лоиҳа ягон 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 -ро истифода мебарад (
Пас аз сохта шудани тасвир, Waypoint онро ба таври худкор ба феҳристи AWS ECR-и мо бор мекунад, то он барои интиқол омода бошад. Дар охири васл, қадами расонидани истифода мебарад
Аз ноутбуки ман ин осон аст. Ман дар Waypoint гузоштам, ки аллакай дар ҳисоби AWS ман тасдиқ шудааст ва он "танҳо кор мекунад". Аммо агар ман мехоҳам аз ноутбуки худ берун равам, чӣ мешавад? Ё шояд ман мехоҳам ин ҷобаҷокуниро ҳамчун як қисми лӯлаи умумии CI/CD-и худ автоматӣ кунам, ки дар он ҷо санҷишҳои ҳозираи ҳамгироии ман, санҷишҳои амниятӣ ва дигарон кор мекунанд? Ин қисми ҳикояест, ки дар он GitLab CI/CD ворид мешавад!
БМТ Агар шумо танҳо нақшаи татбиқи CI / CD дошта бошед ё мехоҳед ба татбиқи таҷрибаҳои беҳтарини сохтмони қубурҳо шурӯъ кунед, ба курси нави Slurm диққат диҳед.
"CI/CD дар мисоли Gitlab CI" . Он ҳоло бо нархи пешакии фармоиш дастрас аст.
Нуқтаи роҳ дар GitLab CI/CD
Барои танзим кардани ҳамаи ин дар GitLab CI/CD, биёед бубинем, ки дар файли мо чӣ лозим аст .gitlab-ci.yml
:
- Пеш аз ҳама, ба шумо тасвири асосӣ лозим аст, ки дар дохили он кор кунед. Waypoint дар ҳама гуна тақсимоти Linux кор мекунад, он танҳо ба Docker ниёз дорад, аз ин рӯ мо метавонем бо тасвири умумии Docker кор кунем.
- Баъдан, ба шумо лозим аст, ки Wapoint-ро дар ин тасвир насб кунед. Дар оянда мо метавонем ҷамъоварӣ кунем
тасвири сохтани мета ва ин равандро барои худ контейнер кунед. - Дар охир мо фармонҳои Waypoint -ро иҷро мекунем
Дар боло ҳама чизест, ки лӯлаи мо барои иҷро кардани скриптҳои зарурӣ барои ҷойгиркунӣ лозим аст, аммо барои ҷойгиркунӣ ба AWS ба мо як чизи дигар лозим аст: мо бояд ба ҳисоби AWS-и худ ворид шавем. Дар Тавсифи Waypoint
Якчанд имконот барои аутентификатсияи GitLab CICD дар AWS мавҷуданд. Варианти аввал ин истифодабарии дарунсохт аст 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
.
Натиҷаи вазифаи сохтмон ба мо нуқтаи ниҳоиро нишон медиҳад, ки мо барномаро дар он ҷо гузоштаем:
Нуқтаи роҳ яке аз
Қарорҳои муштараке, ки аз ҷониби HashiCorp ва GitLab таҳия шудаанд, ба ширкатҳо кӯмак мекунанд, ки роҳи беҳтарини таҳияи барномаҳоро тавассути таъмини пайвастагии занҷири таъминот ва идоракунии инфрасохтор пайдо кунанд. Waypoint як қадами дигарро дар самти дуруст гузошт ва мо интизори рушди минбаъдаи лоиҳа ҳастем. Шумо метавонед дар бораи Waypoint маълумоти бештар гиред
Шумо метавонед принсипҳои CI / CD-ро дарк кунед, тамоми нозукиҳои кор бо Gitlab CI-ро азхуд кунед ва тавассути анҷом додани курси видеоӣ ба татбиқи таҷрибаҳои беҳтарин шурӯъ кунед.
Манбаъ: will.com