ProHoster > Блог > Whakahaerenga > Me pehea te whakamahi HashiCorp Waypoint ki te Mahi tahi me GitLab CI/CD
Me pehea te whakamahi HashiCorp Waypoint ki te Mahi tahi me GitLab CI/CD
I whakaatu a HashiCorp i tetahi kaupapa hou Waypoint i runga i HashiCorp Mamati. Ka whakamahia e ia he konae i runga i te HCL hei whakaahua i te hanga, te tuku, me te tukunga o nga tono mo nga momo papaahi kapua, mai i Kubernetes ki AWS ki Google Cloud Run. Ka taea e koe te whakaaro ko Waypoint hei Terraform me Vagrant hei whakaahua i te mahi hanga whare, tuku kaipuke me te tuku i o tono.
He pono ki te ahua, kua tukuna e HashiCorp a Waypoint hei puna tuwhera ka tae mai me nga tauira maha. Kei a koe te paparanga orchestrator, ka tae mai a Waypoint hei whakahaere ka taea e koe te whakahaere tika i runga i to pona, mai i to taputapu whakahiato CI/CD ranei. Ko te whaainga mo te tuku i o tono kei a koe ano, i te mea kei te tautoko a Waypoint i nga Kubernetes, Docker, Google Cloud Run, AWS ECS, me etahi atu.
I muri i te panui i te whakamataku tuhinga me nga mea papai rawa atu tauira nga tono na HashiCorp, i whakatau matou ki te ata titiro ki te hangahanga o Waypoint ma te whakamahi i te GitLab CI/CD. Ki te mahi i tenei, ka tangohia e matou he tono Node.js ngawari e rere ana i runga i te AWS ECS mai i te kohinga tauira.
Whai muri i te kati i te putunga, me titiro ki te hanganga o te tono e whakaatu ana i te wharangi kotahi:
Kua kite pea koe, kaore he Dockerfile i tenei kaupapa. Kaore i te taapirihia i roto i te tauira, na te mea ko te tikanga kaore e hiahiatia ana e tatou, na te Waypoint e tiaki mo tatou. Kia ata titiro ki te konae waypoint.hclkia mohio ai he aha tana mahi:
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"
}
}
}
I roto i te wahanga hanga, ka whakamahi a Waypoint i nga Kapua Native Buildpacks (CNB) ki te whakatau i te reo kaupapa o te kaupapa me te hanga i tetahi ahua Docker me te kore e whakamahi i te Dockerfile. Ko te tikanga, ko te hangarau ano tenei e whakamahia ana e GitLab tetahi waahanga DevOps Aunoa i te taahiraa Hanga Aunoa. He pai ki te kite kei te kaha ake te tangohanga o te CNB o CNCF i waenga i nga kaiwhakamahi ahumahi.
Kia oti te hanga te ahua, ka tukuna aunoatia e Waypoint ki ta maatau rehita AWS ECR kia rite ai mo te tuku. Kia oti te hanga, ka whakamahia te taahiraa tuku AWS ECS taapiri ki te tuku i ta maatau tono ki ta maatau putea AWS.
Mai i taku pona - he ngawari nga mea katoa. Ka hoatu e ahau he Waypoint kua whakamotuhēhē kē ki taku pūkete AWS ka "mahi noa". Engari ka aha mena ka pirangi au ki tua atu i taku pona? Kei te hiahia ohorere ranei ahau ki te whakaaunoa i tenei tukunga hei waahanga o taku paipa CI/CD katoa, kei reira e whakahaerehia ana aku whakamatautau whakauru, whakamatautau haumaru, me etahi atu? Koinei te waahanga o te korero ka uru mai a GitLab CI/CD!
NB Mena kei te whakamahere noa koe ki te whakatinana CI/CD, kei te hiahia ranei koe ki te timata ki te whakamahi i nga tikanga pai mo te hanga paipa, whakarongo ki te akoranga hou a Slurm "CI/CD e whakamahi ana i a Gitlab CI hei tauira". Kei te waatea inaianei i te utu o mua.
Waahi ara i GitLab CI/CD
Hei whakarite i enei mea katoa i roto i te GitLab CI/CD, me titiro ki nga mea e hiahiatia ana i roto i ta maatau konae .gitlab-ci.yml:
Ko te tuatahi, me hiahia koe ki tetahi ahua turanga kia rere ki roto. Ka mahi a Waypoint i runga i nga tohatoha Linux, me Docker anake, kia taea ai e tatou te rere me te ahua Docker whanui.
Whai muri me whakauru koe i te Waypoint ki tenei ahua. Hei nga ra kei te heke mai ka kohia pea e matou hanga meta whakaahua me te pupuri i tenei tukanga maau.
Ka mutu ka whakahaerehia e matou nga whakahau Waypoint
Ko nga mea i runga ake nei e whakaatu ana i nga mea katoa e hiahiatia ana e to maatau paipa ki te whakahaere i nga tuhinga e hiahiatia ana hei whakaoti i te tukunga, engari ki te tuku ki te AWS ka hiahia ano matou: me uru taatau ki to maatau putea AWS. I roto i te whakaahuatanga Waypoint he mahere mo te motuhēhēnga me te whakamanatanga. I tukuna ano e HashiCorp tetahi kaupapa whakamiharo i tenei wiki Tuhinga. Engari mo tenei wa, ka taea e taatau te whakahaere i te whakamotuhēhēnga me te whakamanatanga.
He maha nga whiringa mo GitLab CICD motuhēhēnga i roto i te AWS. Ko te kōwhiringa tuatahi ko te whakamahi i te hanga-i roto HashiCorp Vault. He rawe tenei mena kei te whakamahia e to roopu a Vault mo te whakahaeretanga tohu. Ko tetahi atu whiringa ka mahi mena kei te whakahaere to roopu i te whakamanatanga ma te whakamahi i te AWS IAM ko te tirotiro kei te puta nga mahi tuku ma te Kaiwhaiwhai a GitLab, kua whakamanahia ki te whakahaere i te tukunga ma IAM. Engari ki te hiahia noa koe ki te mohio ki te Waypoint me te hiahia kia tere te mahi, tera ano te whiringa whakamutunga - taapirihia to AWS API me nga taviri ngaro ki GitLab CI/CD taurangi taiaoAWS_ACCESS_KEY_ID и AWS_SECRET_ACCESS_KEY.
Te tuku katoa
Kia mohio tatou ki te motuhēhēnga, ka taea e tatou te timata! To tatou whakamutunga .gitlab-ci.yml penei te ahua:
Ka kite koe ka timata tatou me te ahua docker:latest me te whakarite i etahi taurangi taiao e hiahiatia ana e Waypoint. I te pene script ka tikiakehia e matou te putanga hou o te Waypoint ka taea te kawe me te whakauru ki roto /usr/local/bin. I te mea kua whakamanahia to tatou kaikawe i roto i te AWS, ka oma noa tatou waypoint init, build, deploy и release.
Ko te putanga o te mahi hanga ka whakaatu mai ki a matou te pito whakamutunga i hurihia e matou te tono:
Tohu arai tetahi o maha nga otinga HashiCorp, mahi pai ki a GitLab. Hei tauira, i tua atu i te tuku tono, ka taea e taatau te whakarite i nga hanganga o raro ma te whakamahi Terraform i runga i GitLab. Hei whakataurite i te haumarutanga SDLC, ka taea hoki e tatou te whakatinana GitLab me Vault mo te whakahaere i nga mea ngaro me nga tohu i roto i nga pipeline CI / CD, e whakarato ana i te otinga katoa mo nga kaihanga me nga kaiwhakahaere e whakawhirinaki ana ki te whakahaere ngaro mo te whakawhanaketanga, te whakamatautau, me te whakamahinga whakaputa.
Ko nga otinga tahi i whakawhanakehia e HashiCorp me GitLab ka awhina i nga kamupene ki te rapu huarahi pai ake ki te whakawhanake tono ma te whakarato i nga whakahaere riterite o nga paipa tuku me nga hanganga. Kua whai huarahi ano a Waypoint ki te huarahi tika, a ka tumanako matou ki te whanaketanga tonu o te kaupapa. Ka kitea e koe etahi atu korero mo Waypoint konei, he pai hoki te tirotiro tuhinga и mahere whanaketanga kaupapa. Kua apitihia e matou nga matauranga kua riro mai i a matou GitLab CICD tuhinga. Mena kei te hiahia koe ki te whakamatau i nga mea katoa, ka taea e koe te tango i tetahi tauira mahi katoa tenei putunga.
Ka taea e koe te mohio ki nga maataapono o te CI/CD, kia mohio koe ki nga ahuatanga katoa o te mahi me te Gitlab CI ka tiimata ki te whakamahi i nga tikanga pai ma te tango akoranga ataata. "CI/CD e whakamahi ana i a Gitlab CI hei tauira". Hono mai!