
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 пайдаланады () жобаның бағдарламалау тілін анықтау және Docker файлын пайдаланбай 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 кескінімен жұмыс істей аламыз.
- Содан кейін осы кескінге Waypoint орнату керек. Болашақта жинап аламыз және бұл процесті өзіңізге жүктеңіз.
- Соңында біз 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 дұрыс бағытта тағы бір қадам жасады және біз жобаның одан әрі дамуын күтеміз. Сіз Waypoint туралы көбірек біле аласыз зерттеуге де тұрарлық и жоба. Біз өз білімімізді қостық . Егер сіз оны өзіңіз сынап көргіңіз келсе, толық жұмыс үлгісін мына жерден тексере аласыз .
Сіз CI / CD принциптерін түсіне аласыз, Gitlab CI-мен жұмыс істеудің барлық қыр-сырын меңгере аласыз және бейне курсты аяқтау арқылы озық тәжірибелерді қолдана бастай аласыз. . Қазір қосылыңыз!
Ақпарат көзі: www.habr.com
