Sida loo isticmaalo HashiCorp Waypoint si loola shaqeeyo GitLab CI/CD

Sida loo isticmaalo HashiCorp Waypoint si loola shaqeeyo GitLab CI/CD

HashiCorp waxay muujisay mashruuc cusub Wadada on HashiCorp Digital. Waxay isticmaashaa fayl ku salaysan HCL si ay u sharaxdo dhismaha, keenista, iyo sii daynta codsiyada meelo kala duwan oo daruuro ah, oo u dhexeeya Kubernetes ilaa AWS ilaa Google Cloud Run. Waxaad u malayn kartaa Waypoint sida Terraform iyo Vagrant oo la isku daray si loo qeexo habka dhisidda, raridda, iyo sii daynta codsiyadaada.

Run in la sameeyo, HashiCorp waxay soo saartay Waypoint il furan waxayna la timid tusaalooyin badan. Lakabka orchesttarka adiga ayay ku xiran tahay, Waypoint waxay ku timaaddaa mid la fulin karo oo aad si toos ah ugu socon karto laptop-kaaga ama aaladdaada CI/CD orchestration ee aad dooratay. Hadafka lagu geynayo codsiyadaada sidoo kale adiga ayay kugu xiran tahay, maadaama Waypoint ay taageerto Kubernetes, Docker, Google Cloud Run, AWS ECS, iyo in ka badan.

Kadib akhrinta cajiibka ah dukumeenti iyo kuwa ugu raaxada badan tusaalayaal Codsiyada ay bixiso HashiCorp, waxaan go'aansanay inaan si dhow u eegno abaabulka Waypoint anagoo adeegsanayna GitLab CI/CD. Si tan loo sameeyo, waxaanu ka soo qaadan doonaa arjiga Node.js fudud ee ku shaqeeya AWS ECS tusaale ahaan kaydinta.

Kadib xidhidhiyaha kaydka, aynu eegno qaab dhismeedka arjiga muujinaya hal bog:

Sida loo isticmaalo HashiCorp Waypoint si loola shaqeeyo GitLab CI/CD

Sida laga yaabo inaad dareentay, mashruucani ma laha Dockerfile. Laguma daro tusaale ahaan, sababtoo ah mabda'a uma baahnid, sababtoo ah Waypoint ayaa nagu daryeeli doona iyaga. Aan si hoose u eegno faylka waypoint.hclsi loo fahmo waxa ay sameyn doonto:

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"
    }
  }
}

Inta lagu jiro marxaladda dhismaha, Waypoint waxay isticmaashaa Cloud Native Buildpacks (CNB) si loo go'aamiyo luqadda barnaamijka ee mashruuca oo loo abuuro sawirka Docker adoon isticmaalin Dockerfile. Mabda 'ahaan, tani waa tignoolajiyada ay GitLab qayb ahaan isticmaasho Auto DevOps Talaabada Auto Build. Way wanaagsan tahay in la arko in CNCF's CNB uu helayo korsasho badan oo ka mid ah isticmaaleyaasha warshadaha.

Marka sawirka la dhiso, Waypoint waxay si toos ah ugu shubi doontaa diiwaankayaga AWS ECR si ay diyaar ugu noqoto keenista. Marka dhismuhu dhammaado, tallaabada gaarsiinta ayaa adeegsanaysa AWS ECS wax-ku-kordhin si aan codsigayaga u geliyo akoonkeena AWS.

Laga soo bilaabo laptop-kayga - wax walba waa sahlan yihiin. Waxaan galiyay Jidka hore loo xaqiijiyay akoonkayga AWS oo "kaliya shaqeeya". Laakiin maxaa dhacaya haddii aan rabo inaan dhaafo laptop-kayga? Mise si lama filaan ah ayaan u rabaa in aan si otomaatig ah u geeyo hawlgalkan iyada oo qayb ka ah dhuumahayga CI/CD ee guud, halkaas oo imtixaanada isdhexgalka ee socda, imtixaanada amniga, iyo kuwa kaleba lagu wado? Tani waa qaybta sheekada uu GitLab CI/CD soo galo!

NB Haddii aad kaliya qorshaynayso inaad hirgeliso CI/CD ama aad rabto inaad bilowdo inaad codsato hababka ugu fiican ee dhismaha dhuumaha, u fiirso koorsada cusub ee Slurm "CI/CD oo isticmaalaya Gitlab CI tusaale ahaan". Hadda waxa lagu heli karaa qiimihii hore loo sii dalbaday.

Jidka ku yaal GitLab CI/CD

Si loo abaabulo waxaas oo dhan gudaha GitLab CI/CD, aan eegno waxa aan uga baahanahay galkeena .gitlab-ci.yml:

  • Ugu horreyntii, waxaad u baahan tahay sawir sal ah si aad ugu dhex socoto. Waypoint waxay ka shaqeysaa qaybinta Linux kasta, waxay u baahan tahay kaliya Docker, si aan ula socono sawirka Docker guud.
  • Marka xigta waxaad u baahan tahay inaad ku rakibto Waypoint sawirkan. Mustaqbalka waxa laga yaabaa in aanu ururino sawirka meta dhis oo habraacan haynta naftaada ku qabo.
  • Ugu dambeyntii waxaan socodsiin doonaa amarrada Waypoint

Midka kore wuxuu qeexayaa wax kasta oo dhuumaheena u baahan doonaan si ay u socodsiiyaan qoraallada loo baahan yahay si loo dhammeeyo dajinta, laakiin si loo geeyo AWS waxaan u baahan doonaa hal shay oo kale: waa in aan galnaa akoonkeena AWS. In sharaxaadda Waypoint waxaa jira qorshayaal ku saabsan xaqiijinta iyo oggolaanshaha. HashiCorp ayaa sidoo kale soo bandhigtay mashruuc cajiib ah todobaadkan Xudduudda. Laakin imminka, annagu waanu xamili karnaa xaqiijinta iyo oggolaanshaha nafteena.

Waxaa jira dhawr ikhtiyaar oo xaqiijinta GitLab CICD gudaha AWS. Doorashada ugu horeysa waa in la isticmaalo gudaha gudaha XaashiCorp Vault. Tani waa wax aad u fiican haddii kooxdaadu ay mar horeba Vault u isticmaashay maaraynta aqoonsiga. Ikhtiyaar kale oo shaqeeya haddii kooxdaadu ay maamulaan oggolaanshaha isticmaalaya AWS IAM waa in la hubiyo in hawlaha keenista ay kacday GitLab Runner, loo oggolaaday in lagu socodsiiyo IAM. Laakiin haddii aad rabto inaad barato Waypoint oo aad rabto inaad si dhakhso ah u sameyso, waxaa jira hal ikhtiyaar oo u dambeeya - ku dar AWS API iyo furayaasha sirta ah GitLab CI/CD doorsoomayaasha deegaanka AWS_ACCESS_KEY_ID ΠΈ AWS_SECRET_ACCESS_KEY.

Isku soo wada duuboo

Marka aan fahamno aqoonsiga, waan bilaabi karnaa! Finalkeena .gitlab-ci.yml sidan oo kale:

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

Waxaad arkaysaa in aan ka bilowno sawir docker:latest oo deji dhowr doorsoomayaal deegaan oo ay u baahan tahay Waypoint. In cutubka script Waxaan soo dejineynaa nooca ugu dambeeyay ee Waypoint la fulin karo oo ku rakib /usr/local/bin. Maadaama orodyahankayagu horeba loogu oggolaaday AWS, marka xigta si fudud ayaanu u socodsiinaynaa waypoint init, build, deploy ΠΈ release.

Wax-soo-saarka hawsha dhismuhu waxay ina tusi doontaa barta ugu dambaysa ee aan ku soo rogin codsiga:

Sida loo isticmaalo HashiCorp Waypoint si loola shaqeeyo GitLab CI/CD

Jidka mid ka mid ah xalal badan oo HashiCorp ah, si fiican ula shaqee GitLab. Tusaale ahaan, marka lagu daro gudbinta codsiga, waxaanu abaabuli karnaa kaabayaasha hoose anagoo adeegsanayna Terraform ee GitLab. Si loo habeeyo amniga SDLC, waxaan sidoo kale hirgelin karnaa GitLab oo leh Vault maaraynta siraha iyo calaamadaha dhuumaha CI / CD, siinta xal dhamaystiran oo loogu talagalay horumarinta iyo maamulayaasha kuwaas oo ku tiirsan maaraynta siraha horumarinta, tijaabinta, iyo isticmaalka wax soo saarka.

Xalalka wadajirka ah ee ay sameeyeen HashiCorp iyo GitLab waxay ka caawiyaan shirkadaha inay helaan hab wanaagsan oo ay ku horumariyaan codsiyada iyagoo siinaya maamul joogto ah oo ah dhuumaha gaarsiinta iyo kaabayaasha. Waypoint waxay qaaday tillaabo kale oo dhanka saxda ah, waxaana rajeyneynaa inuu sii socdo horumarka mashruuca. Waxaad wax badan ka ogaan kartaa Waypoint halkan, sidoo kale mudan in la baadho dukumeenti ΠΈ qorshaha horumarinta mashruuc. Aqoontii aan kasbannay waanu ku darnay Dukumeentiyada GitLab CICD. Haddii aad rabto inaad wax walba isku daydo naftaada, waxaad u qaadan kartaa tusaale shaqo oo dhammaystiran kaydkan.

Waad fahmi kartaa mabaadi'da CI/CD, waxaad baran kartaa dhammaan waxyaabaha adag ee la shaqeynta Gitlab CI oo waxaad bilaabi kartaa adeegsiga dhaqamada ugu fiican adiga oo qaadanaya koorsada fiidiyowga "CI/CD oo isticmaalaya Gitlab CI tusaale ahaan". Nagu soo biir!

Source: www.habr.com

Add a comment