GitLab CI/CD နှင့် ပူးပေါင်းရန် HashiCorp Waypoint ကို အသုံးပြုနည်း

GitLab CI/CD နှင့် ပူးပေါင်းရန် HashiCorp Waypoint ကို အသုံးပြုနည်း

HashiCorp သည် ပရောဂျက်အသစ်တစ်ခုကို ပြသခဲ့သည်။ လမ်းဘေး အပေါ် HashiCorp ဒစ်ဂျစ်တယ်. Kubernetes မှ AWS နှင့် Google Cloud Run အထိ အမျိုးမျိုးသော cloud ပလပ်ဖောင်းများအတွက် တည်ဆောက်ခြင်း၊ ပို့ဆောင်ခြင်းနှင့် ထုတ်လွှတ်ခြင်းများကို ဖော်ပြရန် HCL-based ဖိုင်ကို အသုံးပြုသည်။ Waypoint ကို Terraform နှင့် Vagrant တို့က တည်ဆောက်ခြင်း၊ ပို့ဆောင်ခြင်းနှင့် သင့်အက်ပ်လီကေးရှင်းများ ထုတ်လွှတ်ခြင်းဆိုင်ရာ လုပ်ငန်းစဉ်များကို ဖော်ပြရန် ပေါင်းစည်းထားသည့်အတိုင်း စဉ်းစားပါ။

အသွင်သဏ္ဍာန်အရ HashiCorp သည် Waypoint ကို open source အဖြစ် ထုတ်လွှတ်ခဲ့ပြီး ၎င်းတွင် ဥပမာများစွာပါရှိသည်။ သံစုံတီးဝိုင်း၏အဆင့်သည် သင့်အပေါ်တွင် မူတည်သည်၊ Waypoint သည် သင့်လက်ပ်တော့ပေါ်တွင် တိုက်ရိုက် သို့မဟုတ် သင်၏ CI/CD orchestration tool မှ သင်ရွေးချယ်နိုင်သော executable အဖြစ် လာပါသည်။ Waypoint သည် Kubernetes၊ Docker၊ Google Cloud Run၊ AWS ECS နှင့် အခြားအရာများကို ပံ့ပိုးပေးသောကြောင့် အပလီကေးရှင်း ဖြန့်ကျက်မှု ပစ်မှတ်သည် သင့်အပေါ်တွင်လည်း မူတည်ပါသည်။

ဖတ်ပြီးရင် အရမ်းကောင်းတယ်။ စာရွက်စာတမ်း နှင့် အလန်းဆုံး ဥပမာ HashiCorp မှ ပံ့ပိုးပေးထားသော အက်ပ်လီကေးရှင်းများ၊ GitLab CI/CD ဖြင့် Waypoint orchestration ကို အနီးကပ်ကြည့်ရှုရန် ဆုံးဖြတ်ခဲ့သည်။ ဒါကိုလုပ်ဖို့၊ နမူနာသိမ်းဆည်းမှုကနေ AWS ECS မှာလည်ပတ်နေတဲ့ ရိုးရှင်းတဲ့ Node.js အပလီကေးရှင်းကို ယူပါမယ်။

repository ကို clone လုပ်ပြီးနောက်၊ တစ်မျက်နှာကိုပြသသည့် application ၏ဖွဲ့စည်းပုံကိုကြည့်ကြပါစို့။

GitLab CI/CD နှင့် ပူးပေါင်းရန် HashiCorp Waypoint ကို အသုံးပြုနည်း

သင်သတိပြုမိသည့်အတိုင်း၊ ဤပရောဂျက်တွင် 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 ကိုအသုံးပြုသည် (NBC) ပရောဂျက်၏ ပရိုဂရမ်းမင်းဘာသာစကားကို ဆုံးဖြတ်ရန်နှင့် Dockerfile မသုံးဘဲ Docker ပုံတစ်ခု ဖန်တီးပါ။ မူအရ၊ ဤသည်တစ်စိတ်တစ်ပိုင်း GitLab မှအသုံးပြုသောတူညီသောနည်းပညာဖြစ်သည်။ အလိုအလျောက် DevOps Auto Build အဆင့်မှာ။ CNCF ၏ CNB သည် စက်မှုလုပ်ငန်းအသုံးပြုသူများကြားတွင် ပိုမိုလက်ခံကျင့်သုံးလာသည်ကို တွေ့မြင်ရခြင်းသည် ကောင်းပါတယ်။

ပုံတည်ဆောက်ပြီးသည်နှင့် Waypoint သည် ၎င်းကို တင်ပို့ရန် အသင့်ဖြစ်စေရန် ကျွန်ုပ်တို့၏ AWS ECR မှတ်ပုံတင်ခြင်းသို့ အလိုအလျောက် အပ်လုဒ်လုပ်ပါမည်။ စည်းဝေးပွဲအဆုံးတွင်၊ ပေးပို့မှုအဆင့်ကို အသုံးပြုသည်။ AWS ECS အပိုပရိုဂရမ် ကျွန်ုပ်တို့၏လျှောက်လွှာကို ကျွန်ုပ်တို့၏ AWS အကောင့်သို့ အသုံးချရန်။

ကျွန်တော့်လက်တော့ပ်ကနေ လွယ်ပါတယ်။ ကျွန်ုပ်သည် ကျွန်ုပ်၏ 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 ဖော်ပြချက်တွင် အစီအစဉ်များရှိသည်။ စစ်မှန်ကြောင်းအထောက်အထားနှင့်ခွင့်ပြုချက်အကြောင်း။ HashiCorp သည် ယခုအပတ်တွင် အထင်ကြီးလောက်သော ပရောဂျက်တစ်ခုကိုလည်း ထုတ်ပြန်ခဲ့သည်။ နယ်နိမိတ်. သို့သော် ယခုအချိန်တွင် ကျွန်ုပ်တို့သည် စစ်မှန်ကြောင်းအထောက်အထားနှင့် ခွင့်ပြုချက်ကို ကိုယ်တိုင်ခံယူပြီး ကိုင်တွယ်နိုင်ပါသည်။

AWS တွင် GitLab CICD စစ်မှန်ကြောင်းအထောက်အထားပြခြင်းအတွက် ရွေးချယ်စရာများစွာရှိသည်။ ပထမရွေးချယ်မှုမှာ Built-in ကိုအသုံးပြုရန်ဖြစ်သည်။ HashiCorp Vault. သင့်အဖွဲ့သည် အထောက်အထားစီမံခန့်ခွဲမှုအတွက် Vault ကို အသုံးပြုနေပါက ကောင်းပါသည်။ သင့်အဖွဲ့သည် AWS IAM သုံးပြီး ခွင့်ပြုချက်ကို စီမံခန့်ခွဲပါက လုပ်ဆောင်နိုင်သည့် အခြားနည်းလမ်းမှာ ပေးပို့ခြင်းလုပ်ငန်းကို တစ်ဆင့်ခံလုပ်ဆောင်နေကြောင်း စစ်ဆေးရန်ဖြစ်သည်။ GitLab အပြေးသမားA သည် IAM မှတဆင့် ဖြန့်ကျက်စတင်ရန် အခွင့်အာဏာရှိသည်။ ဒါပေမယ့် Waypoint နဲ့ အကျွမ်းတဝင်ရှိချင်ပြီး မြန်မြန်ဆန်ဆန်လုပ်ချင်ရင်၊ နောက်ဆုံးရွေးချယ်မှုကတော့ သင့်ရဲ့ AWS API နဲ့ Secret keys တွေကို ထည့်သွင်းဖို့ပါပဲ။ GitLab CI/CD ပတ်ဝန်းကျင် ကိန်းရှင်များ 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.

တည်ဆောက်ခြင်းလုပ်ငန်း၏ ရလဒ်သည် ကျွန်ုပ်တို့အား အပလီကေးရှင်းကို လှိမ့်ပေးသည့် အဆုံးအမှတ်ကို ပြပါမည်-

GitLab CI/CD နှင့် ပူးပေါင်းရန် HashiCorp Waypoint ကို အသုံးပြုနည်း

လမ်းကြောင်းတစ်ခု HashiCorp ဖြေရှင်းချက်များစွာGitLab နဲ့ ကောင်းကောင်းအလုပ်လုပ်ပါတယ်။ ဥပမာအားဖြင့်၊ အက်ပလီကေးရှင်းကို ပေးအပ်ခြင်းအပြင်၊ ကျွန်ုပ်တို့သည် အရင်းခံအခြေခံအဆောက်အအုံကို စီမံကွပ်ကဲနိုင်သည်။ GitLab ရှိ Terraform. SDLC လုံခြုံရေးကို စံသတ်မှတ်ရန်၊ ကျွန်ုပ်တို့လည်း အကောင်အထည်ဖော်နိုင်သည်။ Vault နှင့် GitLab CI/CD ပိုက်လိုင်းများရှိ လျှို့ဝှက်ချက်များနှင့် တိုကင်များကို စီမံခန့်ခွဲရန်အတွက်၊ ဖွံ့ဖြိုးတိုးတက်မှု၊ စမ်းသပ်မှုနှင့် ထုတ်လုပ်မှုအတွက် လျှို့ဝှက်စီမံခန့်ခွဲမှုကို အားကိုးသည့် developer များနှင့် စီမံခန့်ခွဲသူများအတွက် ပြီးပြည့်စုံသော အဖြေတစ်ခု ပေးစွမ်းသည်။

HashiCorp နှင့် GitLab တို့မှ တီထွင်ထားသော ပူးတွဲဖြေရှင်းချက်များသည် ကုမ္ပဏီများကို တသမတ်တည်း ထောက်ပံ့မှုကွင်းဆက်နှင့် အခြေခံအဆောက်အအုံစီမံခန့်ခွဲမှုကို သေချာစေခြင်းဖြင့် အပလီကေးရှင်းများ ဖွံ့ဖြိုးတိုးတက်ရန် အကောင်းဆုံးနည်းလမ်းကို ရှာဖွေရန် ကူညီပေးပါသည်။ Waypoint သည် လမ်းကြောင်းမှန်ပေါ်၌ နောက်ထပ်ခြေတစ်လှမ်းကိုလှမ်းပြီး ပရောဂျက်၏နောက်ထပ်ဖွံ့ဖြိုးတိုးတက်မှုကို စောင့်မျှော်နေပါသည်။ Waypoint အကြောင်း ပိုမိုလေ့လာနိုင်ပါသည်။ ဒီမှာစူးစမ်းဖို့လည်း ထိုက်တန်ပါတယ်။ စာရွက်စာတမ်း и ဖွံ့ဖြိုးတိုးတက်မှုအစီအစဉ် ပရောဂျက်။ ကျွန်ုပ်တို့သည် ကျွန်ုပ်တို့၏ အသိပညာကို ထည့်သွင်းထားပါသည်။ GitLab CICD စာရွက်စာတမ်း. သင်ကိုယ်တိုင် စမ်းသုံးကြည့်ချင်တယ်ဆိုရင်တော့ အလုပ်နမူနာအပြည့်အစုံကို မှာ ကြည့်ရှုနိုင်ပါတယ်။ ဒီသိုလှောင်မှု.

CI/CD ၏ အခြေခံမူများကို သင်နားလည်နိုင်ပြီး Gitlab CI နှင့် လုပ်ဆောင်ခြင်း၏ ပရိယာယ်အားလုံးကို ကျွမ်းကျင်ပြီး ဗီဒီယိုသင်တန်းကို ပြီးမြောက်ခြင်းဖြင့် အကောင်းဆုံးအလေ့အကျင့်များကို စတင်ကျင့်သုံးနိုင်သည် "Gitlab CI ၏ နမူနာတွင် CI/CD". ယခုပါဝင်လိုက်ပါ။

source: www.habr.com

မှတ်ချက် Add