HashiCorp သည် ပရောဂျက်အသစ်တစ်ခုကို ပြသခဲ့သည်။
အသွင်သဏ္ဍာန်အရ HashiCorp သည် Waypoint ကို open source အဖြစ် ထုတ်လွှတ်ခဲ့ပြီး ၎င်းတွင် ဥပမာများစွာပါရှိသည်။ သံစုံတီးဝိုင်း၏အဆင့်သည် သင့်အပေါ်တွင် မူတည်သည်၊ Waypoint သည် သင့်လက်ပ်တော့ပေါ်တွင် တိုက်ရိုက် သို့မဟုတ် သင်၏ CI/CD orchestration tool မှ သင်ရွေးချယ်နိုင်သော executable အဖြစ် လာပါသည်။ Waypoint သည် Kubernetes၊ Docker၊ Google Cloud Run၊ AWS ECS နှင့် အခြားအရာများကို ပံ့ပိုးပေးသောကြောင့် အပလီကေးရှင်း ဖြန့်ကျက်မှု ပစ်မှတ်သည် သင့်အပေါ်တွင်လည်း မူတည်ပါသည်။
ဖတ်ပြီးရင် အရမ်းကောင်းတယ်။
repository ကို clone လုပ်ပြီးနောက်၊ တစ်မျက်နှာကိုပြသသည့် application ၏ဖွဲ့စည်းပုံကိုကြည့်ကြပါစို့။
သင်သတိပြုမိသည့်အတိုင်း၊ ဤပရောဂျက်တွင် 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 မှတ်ပုံတင်ခြင်းသို့ အလိုအလျောက် အပ်လုဒ်လုပ်ပါမည်။ စည်းဝေးပွဲအဆုံးတွင်၊ ပေးပို့မှုအဆင့်ကို အသုံးပြုသည်။
ကျွန်တော့်လက်တော့ပ်ကနေ လွယ်ပါတယ်။ ကျွန်ုပ်သည် ကျွန်ုပ်၏ AWS အကောင့်တွင် စစ်မှန်ကြောင်းအထောက်အထားပြပြီးဖြစ်သည့် Waypoint တွင် ထည့်သွင်းထားပြီး ၎င်းသည် "အလုပ်လုပ်သည်" ဖြစ်သည်။ ဒါပေမယ့် ငါ့လက်တော့ပ်ကို ကျော်ချင်ရင် ဘာဖြစ်မလဲ။ သို့မဟုတ် ကျွန်ုပ်၏လက်ရှိပေါင်းစပ်စမ်းသပ်မှုများ၊ လုံခြုံရေးစမ်းသပ်မှုများနှင့် အခြားအရာများလုပ်ဆောင်သည့် ကျွန်ုပ်၏ CI/CD ပိုက်လိုင်း၏ အစိတ်အပိုင်းတစ်ခုအနေဖြင့် ဤဖြန့်ကျက်မှုကို အလိုအလျောက်လုပ်ဆောင်လိုခြင်းဖြစ်နိုင်သည်။ ဤသည်မှာ GitLab CI/CD ဝင်လာသည့် ဇာတ်လမ်း၏ အစိတ်အပိုင်းဖြစ်သည်။
NB အကယ်၍ သင်သည် CI/CD ကို အကောင်အထည်ဖော်ရန် စီစဉ်နေပါက သို့မဟုတ် ပိုက်လိုင်းများတည်ဆောက်ခြင်းအတွက် အကောင်းဆုံးအလေ့အကျင့်များကို စတင်အသုံးပြုလိုပါက၊ Slurm သင်တန်းအသစ်ကို အာရုံစိုက်ပါ။
"Gitlab CI ၏ နမူနာတွင် CI/CD" . ယခုကြိုတင်မှာယူနိုင်သောစျေးနှုန်းဖြင့် ရနိုင်ပါပြီ။
GitLab CI/CD ရှိ Waypoint
GitLab CI/CD တွင် ဤအရာအားလုံးကို စီမံရန်၊ ကျွန်ုပ်တို့၏ဖိုင်တွင် လိုအပ်သည်များကို ကြည့်ကြပါစို့။ .gitlab-ci.yml
:
- ပထမဦးစွာ၊ ၎င်းအတွင်းတွင်လည်ပတ်ရန်အခြေခံပုံတစ်ပုံလိုအပ်သည်။ Waypoint သည် မည်သည့် Linux ဖြန့်ဖြူးမှုတွင်မဆို လုပ်ဆောင်သည်၊ ၎င်းသည် Docker သာ လိုအပ်သောကြောင့် ကျွန်ုပ်တို့သည် ယေဘူယျ Docker ပုံဖြင့် လုပ်ဆောင်နိုင်သည်။
- ထို့နောက် ဤပုံတွင် Waypoint ကို ထည့်သွင်းရန် လိုအပ်ပါသည်။ နောင်တွင် ကျွန်ုပ်တို့ စုဆောင်းနိုင်ပါသည်။
meta တည်ဆောက်ပုံ ပြီးလျှင် ဤလုပ်ငန်းစဉ်ကို သင်ကိုယ်တိုင် ထိန်းသိမ်းပါ။ - နောက်ဆုံးတွင် ကျွန်ုပ်တို့သည် Waypoint commands ကို run ပါမည်။
အထက်တွင်ဖော်ပြထားသည်မှာ ကျွန်ုပ်တို့၏ပိုက်လိုင်းသည် ဖြန့်ကျက်လုပ်ဆောင်ရန်အတွက် လိုအပ်သော scripts များကို run ရန် လိုအပ်သည့်အရာအားလုံးဖြစ်သည်၊ သို့သော် AWS သို့အသုံးပြုရန်အတွက် နောက်ထပ်တစ်ခုလိုအပ်သည်- ကျွန်ုပ်တို့၏ AWS အကောင့်သို့ အကောင့်ဝင်ရပါမည်။ Waypoint ဖော်ပြချက်တွင်
AWS တွင် GitLab CICD စစ်မှန်ကြောင်းအထောက်အထားပြခြင်းအတွက် ရွေးချယ်စရာများစွာရှိသည်။ ပထမရွေးချယ်မှုမှာ Built-in ကိုအသုံးပြုရန်ဖြစ်သည်။ 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 executable ကိုဒေါင်းလုဒ်လုပ်ပြီး ၎င်းကိုထည့်ပါ။ /usr/local/bin
. ကျွန်ုပ်တို့၏ အပြေးသမားသည် AWS တွင် ခွင့်ပြုပြီးသားဖြစ်သောကြောင့်၊ ကျွန်ုပ်တို့ ရိုးရိုးရှင်းရှင်းပင် ပြေးပါသည်။ waypoint init
, build
, deploy
и release
.
တည်ဆောက်ခြင်းလုပ်ငန်း၏ ရလဒ်သည် ကျွန်ုပ်တို့အား အပလီကေးရှင်းကို လှိမ့်ပေးသည့် အဆုံးအမှတ်ကို ပြပါမည်-
လမ်းကြောင်းတစ်ခု
HashiCorp နှင့် GitLab တို့မှ တီထွင်ထားသော ပူးတွဲဖြေရှင်းချက်များသည် ကုမ္ပဏီများကို တသမတ်တည်း ထောက်ပံ့မှုကွင်းဆက်နှင့် အခြေခံအဆောက်အအုံစီမံခန့်ခွဲမှုကို သေချာစေခြင်းဖြင့် အပလီကေးရှင်းများ ဖွံ့ဖြိုးတိုးတက်ရန် အကောင်းဆုံးနည်းလမ်းကို ရှာဖွေရန် ကူညီပေးပါသည်။ Waypoint သည် လမ်းကြောင်းမှန်ပေါ်၌ နောက်ထပ်ခြေတစ်လှမ်းကိုလှမ်းပြီး ပရောဂျက်၏နောက်ထပ်ဖွံ့ဖြိုးတိုးတက်မှုကို စောင့်မျှော်နေပါသည်။ Waypoint အကြောင်း ပိုမိုလေ့လာနိုင်ပါသည်။
CI/CD ၏ အခြေခံမူများကို သင်နားလည်နိုင်ပြီး Gitlab CI နှင့် လုပ်ဆောင်ခြင်း၏ ပရိယာယ်အားလုံးကို ကျွမ်းကျင်ပြီး ဗီဒီယိုသင်တန်းကို ပြီးမြောက်ခြင်းဖြင့် အကောင်းဆုံးအလေ့အကျင့်များကို စတင်ကျင့်သုံးနိုင်သည်
source: www.habr.com