
HashiCorp жаңы долбоорду көрсөттү боюнча . Ал Kubernetesтен AWS жана Google Cloud Runге чейинки ар кандай булут платформалары үчүн тиркемелерди курууну, жөнөтүүнү жана чыгарууну сүрөттөө үчүн HCL негизиндеги файлды колдонот. Тиркемелериңизди куруу, жөнөтүү жана чыгаруу процессин сүрөттөп берүү үчүн 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 колдонот () Докер файлын колдонбостон долбоордун программалоо тилин аныктоо жана Докер сүрөтүн түзүү. Негизи, бул GitLab тарабынан жарым-жартылай колдонулган технология Auto Build кадамында. 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 сүрөтү менен иштей алабыз.
- Андан кийин, бул сүрөткө Waypoint орнотуу керек. Келечекте чогултуп алабыз жана бул процессти өзүңүз үчүн контейнерге салыңыз.
- Акырында биз Waypoint буйруктарын иштетебиз
Жогоруда биздин конвейерибизге жайылтууну аткаруу үчүн зарыл болгон скрипттерди иштетүү үчүн зарыл болгон нерселердин баары бар, бирок AWSге жайылтуу үчүн бизге дагы бир нерсе керек: биз AWS аккаунтубузга киришибиз керек. Waypoint сүрөттөмөсүндө аутентификация жана авторизация жөнүндө. HashiCorp да ушул аптада таасирдүү долбоорду чыгарды . Бирок азырынча биз аутентификацияны жана авторизацияны өзүбүз алып, чече алабыз.
AWSде GitLab CICD аутентификациясынын бир нече варианттары бар. Биринчи параметр камтылган колдонуу болуп саналат . Эгерде сиздин командаңыз эсептик дайындарды башкаруу үчүн Vault колдонуп жатса жакшы болот. Командаңыз авторизацияны AWS IAM аркылуу башкарса, иштей турган дагы бир ыкма - жеткирүү тапшырмалары аркылуу ишке ашырылганын текшерүү. IAM аркылуу жайылтууну баштоого ыйгарым укуктуу. Бирок, эгер сиз жөн гана Waypoint менен таанышкыңыз келсе жана аны тез арада жасагыңыз келсе, акыркы вариант - AWS API жана Secret ачкычтарыңызды 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 туура багытта дагы бир кадам таштады жана биз долбоордун мындан аркы өнүгүшүн чыдамсыздык менен күтөбүз. Сиз Waypoint жөнүндө көбүрөөк биле аласыз изилдөөгө да арзырлык и долбоор. Биз билимибизди коштук . Эгер сиз аны өзүңүз сынап көргүңүз келсе, анда толук жумушчу мисалды текшере аласыз .
Сиз CI / CD принциптерин түшүнүп, Gitlab CI менен иштөөнүн бардык майда-чүйдөсүнө чейин өздөштүрө аласыз жана видеокурсту бүтүрүү менен мыкты тажрыйбаларды колдоно баштасаңыз болот. ... Бизге кошул!
Source: www.habr.com
