ProHoster > Օրագիր > Վարչակազմը > Ինչպես օգտագործել HashiCorp Waypoint-ը GitLab CI/CD-ի հետ համագործակցելու համար
Ինչպես օգտագործել HashiCorp Waypoint-ը GitLab CI/CD-ի հետ համագործակցելու համար
HashiCorp-ը ցուցադրել է նոր նախագիծ Waypoint մասին HashiCorp թվային. Այն օգտագործում է HCL-ի վրա հիմնված ֆայլ՝ նկարագրելու համար հավելվածների ստեղծումը, առաքումը և թողարկումը տարբեր ամպային հարթակների համար՝ սկսած Kubernetes-ից մինչև AWS մինչև Google Cloud Run: Դուք կարող եք պատկերացնել Waypoint-ը որպես Terraform-ը և Vagrant-ը համատեղ՝ նկարագրելու համար ձեր դիմումների կառուցման, առաքման և թողարկման գործընթացը:
Ճիշտ ձևով HashiCorp-ը թողարկել է Waypoint-ը որպես բաց կոդով և գալիս է բազմաթիվ օրինակներով: Նվագախմբի շերտը կախված է ձեզանից, Waypoint-ը գալիս է որպես գործարկիչ, որը կարող եք գործարկել անմիջապես ձեր նոութբուքի վրա կամ ձեր ընտրած CI/CD նվագախմբային գործիքից: Ձեր հավելվածների տեղակայման թիրախը նույնպես կախված է ձեզանից, քանի որ Waypoint-ն աջակցում է Kubernetes-ին, Docker-ին, Google Cloud Run-ին, AWS ECS-ին և այլն:
Հրաշալիը կարդալուց հետո փաստաթղթեր և ամենաշքեղը օրինակներ HashiCorp-ի կողմից տրամադրված հավելվածները, մենք որոշեցինք ավելի մոտիկից նայել Waypoint նվագախմբին՝ օգտագործելով GitLab CI/CD: Դա անելու համար մենք օրինակների պահոցից կվերցնենք 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 (CNB) որոշելու նախագծի ծրագրավորման լեզուն և ստեղծել Docker պատկեր առանց Dockerfile-ի օգտագործման: Սկզբունքորեն, սա նույն տեխնոլոգիան է, որն օգտագործում է GitLab-ը մասամբ Ավտոմատ DevOps Auto Build քայլում: Լավ է տեսնել, որ CNCF-ի CNB-ն ավելի շատ ընդունում է ոլորտի օգտագործողների շրջանում:
Պատկերը կառուցվելուց հետո Waypoint-ն այն ավտոմատ կերպով կվերբեռնի մեր AWS ECR ռեգիստր, որպեսզի այն պատրաստ լինի առաքման: Կառուցումն ավարտվելուց հետո առաքման քայլն օգտագործվում է AWS ECS հավելում տեղակայելու մեր հավելվածը մեր AWS հաշվում:
Իմ նոութբուքից - ամեն ինչ պարզ է: Ես իմ AWS հաշվում դրել եմ Waypoint, որն արդեն իսկ վավերացված է, և այն «պարզապես աշխատում է»: Բայց ի՞նչ կլինի, եթե ես ուզում եմ դուրս գալ իմ նոութբուքի սահմաններից: Թե՞ ես հանկարծ ուզում եմ ավտոմատացնել այս տեղաբաշխումը որպես իմ ընդհանուր CI/CD խողովակաշարի մաս, որտեղ իրականացվում են իմ ընթացիկ ինտեգրման թեստերը, անվտանգության թեստերը և այլն: Սա պատմության այն հատվածն է, որտեղ հայտնվում է GitLab CI/CD-ն:
NB Եթե դուք պարզապես պլանավորում եք իրականացնել CI/CD կամ ցանկանում եք սկսել կիրառել խողովակաշարերի կառուցման լավագույն փորձը, ուշադրություն դարձրեք Slurm-ի նոր դասընթացին: «CI/CD օգտագործելով Gitlab CI որպես օրինակ». Այն այժմ հասանելի է նախնական պատվերի գնով:
Ճանապարհային կետը GitLab CI/CD-ում
Այս ամենը GitLab CI/CD-ում կազմակերպելու համար եկեք տեսնենք, թե ինչ է մեզ անհրաժեշտ մեր ֆայլում .gitlab-ci.yml:
Նախևառաջ դրա ներսում գործելու համար անհրաժեշտ է բազային պատկեր: Waypoint-ն աշխատում է Linux-ի ցանկացած բաշխման վրա, այն պետք է միայն Docker, այնպես որ մենք կարող ենք գործարկել ընդհանուր Docker պատկերով:
Հաջորդը դուք պետք է տեղադրեք Waypoint այս պատկերում: Ապագայում մենք կարող ենք հավաքել պատկերի մետա կառուցում և բեռնարկեք այս գործընթացը ինքներդ ձեզ համար:
Վերջապես մենք կգործարկենք Waypoint հրամանները
Վերոնշյալը ուրվագծում է այն ամենը, ինչ անհրաժեշտ կլինի մեր խողովակաշարին՝ տեղակայումն ավարտելու համար անհրաժեշտ սկրիպտները գործարկելու համար, բայց AWS-ում տեղակայելու համար մեզ անհրաժեշտ կլինի ևս մեկ բան՝ մենք պետք է մուտք գործենք մեր AWS հաշիվ: Ճանապարհային կետի նկարագրության մեջ ծրագրեր կան նույնականացման և թույլտվության մասին: HashiCorp-ը նաև տպավորիչ նախագիծ է թողարկել այս շաբաթ Սահման. Բայց առայժմ մենք ինքներս կարող ենք կարգավորել նույնականացումը և թույլտվությունը:
AWS-ում GitLab CICD նույնականացման մի քանի տարբերակ կա: Առաջին տարբերակը ներկառուցվածի օգտագործումն է HashiCorp պահոց. Սա հիանալի է, եթե ձեր թիմն արդեն օգտագործում է Vault-ը հավատարմագրերի կառավարման համար: Մեկ այլ տարբերակ, որն աշխատում է, եթե ձեր թիմը կառավարում է թույլտվությունը՝ օգտագործելով AWS IAM, ստուգելն է, որ առաքման առաջադրանքները գործարկվեն միջոցով GitLab Runner, լիազորված է իրականացնել տեղակայումը IAM-ի միջոցով: Բայց եթե դուք պարզապես ցանկանում եք ծանոթանալ Waypoint-ին և ցանկանում եք դա անել արագ, կա մեկ վերջին տարբերակ՝ ավելացնել ձեր AWS API-ն և Գաղտնի բանալիները: GitLab CI/CD միջավայրի փոփոխականներAWS_ACCESS_KEY_ID и AWS_SECRET_ACCESS_KEY.
Այս ամենը միասին դնելով
Հենց որ հասկանանք նույնականացումը, կարող ենք սկսել: Մեր եզրափակիչը .gitlab-ci.yml կարծես սա:
Դուք տեսնում եք, որ մենք սկսում ենք պատկերով docker:latest և սահմանել մի քանի միջավայրի փոփոխականներ, որոնք պահանջվում են Waypoint-ի կողմից: Գլխում script մենք ներբեռնում ենք Waypoint գործարկիչի վերջին տարբերակը և տեղադրում այն /usr/local/bin. Քանի որ մեր վազորդն արդեն լիազորված է AWS-ում, հաջորդիվ մենք պարզապես վազում ենք waypoint init, build, deploy и release.
Կառուցման առաջադրանքի արդյունքը մեզ ցույց կտա այն վերջնակետը, որտեղ մենք բացել ենք հավելվածը.
Ճանապարհային կետ մեկը HashiCorp-ի բազմաթիվ լուծումներ, հիանալի աշխատեք GitLab-ի հետ: Օրինակ, հավելվածը մատուցելուց բացի, մենք կարող ենք կազմակերպել հիմքում ընկած ենթակառուցվածքը՝ օգտագործելով Terraform-ը GitLab-ում. SDLC անվտանգությունը ստանդարտացնելու համար մենք կարող ենք նաև իրականացնել GitLab-ը Vault-ով CI/CD խողովակաշարերում գաղտնիքների և նշանների կառավարման համար՝ ամբողջական լուծում տրամադրելով մշակողների և ադմինիստրատորների համար, ովքեր ապավինում են գաղտնիքների կառավարմանը մշակման, փորձարկման և արտադրության օգտագործման համար:
HashiCorp-ի և GitLab-ի կողմից մշակված համատեղ լուծումներն օգնում են ընկերություններին գտնել հավելվածներ մշակելու ավելի լավ ճանապարհ՝ ապահովելով առաքման խողովակաշարերի և ենթակառուցվածքների հետևողական կառավարում: Waypoint-ը ևս մեկ քայլ է արել ճիշտ ուղղությամբ, և մենք անհամբեր սպասում ենք ծրագրի շարունակական զարգացմանը: Դուք կարող եք ավելին իմանալ Waypoint-ի մասին այստեղ, նույնպես արժե ուսումնասիրել փաստաթղթեր и զարգացման պլանը նախագիծը։ Մենք ավելացրել ենք մեր ստացած գիտելիքները GitLab CICD փաստաթղթեր. Եթե ցանկանում եք ամեն ինչ փորձել ինքներդ, կարող եք վերցնել ամբողջական աշխատանքային օրինակ այս պահոցը.
Դուք կարող եք հասկանալ CI/CD-ի սկզբունքները, տիրապետել Gitlab CI-ի հետ աշխատելու բոլոր բարդություններին և սկսել կիրառել լավագույն փորձը՝ անցնելով տեսադասընթաց: «CI/CD օգտագործելով Gitlab CI որպես օրինակ». Միացեք մեզ!