I-Gitlab-CI ilufumana njani ilifa okuguquguquka kokusingqongileyo?

Izinto eziguquguqukayo kwi-Gitlab zinokusetwa kwiindawo ezininzi:

  1. Kwiisetingi zeqela
  2. Kwiisetingi zeprojekthi
  3. Ngaphakathi .gitlab-ci.yml

Kule meko, iinguqu kwiqela kunye nezicwangciso zeprojekthi zingasetwa njenge "fayile" okanye "inguqu eqhelekileyo" kwaye ukhangele iibhokisi zokuhlola "ezikhuselweyo" kunye ne "mask".

I-Gitlab-CI ilufumana njani ilifa okuguquguquka kokusingqongileyo?

Masiqale ngelifa elilula kwaye liya kuba nzima ngakumbi.

Uluhlu lokugqibela lwamanqanaba aphambili lunokufumaneka ekupheleni koxwebhu.

Ilifa kunye namaqela [imithombo]

Iinguqu ezivela kumaqela zizuzwe njengelifa, kunye nomgaqo wokuba iqela elisondeleyo lifumaneka kwiprojekthi, kubaluleke kakhulu ukubaluleka kwayo.

Amaqela aneenguqu

I-Gitlab-CI ilufumana njani ilifa okuguquguquka kokusingqongileyo?

.gitlab-ci.yml

image: busybox:latest
variables:
  GIT_STRATEGY: none

echo:
  stage: test
  script:
    - echo $MSG

Isiphumo sombhobho

$ echo $MSG
B

Ukuba ukuguquguquka bekungachazwanga kwiqela B, ngoko besiya kulibona ixabiso elingu-A.

Ukufumana izinto eziguquguqukayo ngaphakathi .gitlab-ci.yml [imithombo]

Yonke into ilula apha: unokuseta umahluko kwihlabathi jikelele, okanye ungayibhala ngaphezulu ngaphakathi komsebenzi.

Amaqela aneenguqu

I-Gitlab-CI ilufumana njani ilifa okuguquguquka kokusingqongileyo?

.gitlab-ci.yml

Ngoku masenze imisebenzi emi-2, kwenye yazo siza kubonisa ngokucacileyo i-$MSG.

image: busybox:latest
variables:
  GIT_STRATEGY: none
  MSG: "Custom in global .gitlab-ci.yml"

echo:
  stage: test
  script:
    - echo $MSG

echo with var:
  stage: test
  variables:
    MSG: "Custom in job .gitlab-ci.yml"
  script:
    - echo $MSG

Isiphumo sombhobho

  • i-echo:
    $ echo $MSG
    Custom in global .gitlab-ci.yml
    Job succeeded
  • echo nge vars:
    $ echo $MSG
    Custom in job .gitlab-ci.yml
    Job succeeded

Ilifa ngamaqela nangaphakathi .gitlab-ci.yml [imithombo]

Masizame ukudibanisa imizekelo emi-2 yangaphambili. Uguqulo lweqela luthatha indawo ephambili ngaphezu kwezinto ezingaphakathi ngaphakathi .gitlab-ci.yml.

Amaqela aneenguqu

I-Gitlab-CI ilufumana njani ilifa okuguquguquka kokusingqongileyo?

.gitlab-ci.yml

image: busybox:latest
variables:
  GIT_STRATEGY: none
  MSG: "Custom in global .gitlab-ci.yml"

echo:
  stage: test
  script:
    - echo $MSG

echo with var:
  stage: test
  variables:
    MSG: "Custom in job .gitlab-ci.yml"
  script:
    - echo $MSG

Isiphumo sombhobho

  • i-echo:
    $ echo $MSG
    Y
    Job succeeded
  • echo nge vars:
    $ echo $MSG
    Y
    Job succeeded

Ilifa elinoguquguquko olubalula kwizicwangciso zeprojekthi [imithombo]

Izinto eziguquguqukayo kwiisetingi zeprojekthi ZIHLALA zinokubaluleka okuphezulu! Kwaye izinto eziguquguqukayo ezikhankanyiweyo ngaphakathi .gitlab-ci.yml azidlali nayiphi na indima.

Amaqela aneenguqu

Iinguqu zeqela zinokubaluleka okuphantsi.
I-Gitlab-CI ilufumana njani ilifa okuguquguquka kokusingqongileyo?

.gitlab-ci.yml

Masisebenzise ifayile kumzekelo wangaphambili. Apha kwakhona kukho izinto eziguquguqukayo ezikhankanyiweyo ngaphakathi .gitlab-ci.yml, kodwa izinto eziguquguqukayo ngaphakathi kwamaqela zisahamba phambili kuzo.

image: busybox:latest
variables:
  GIT_STRATEGY: none
  MSG: "Custom in global .gitlab-ci.yml"

echo:
  stage: test
  script:
    - echo $MSG

echo with var:
  stage: test
  variables:
    MSG: "Custom in job .gitlab-ci.yml"
  script:
    - echo $MSG

Isiphumo sombhobho

  • i-echo:
    $ echo $MSG
    project-3
    Job succeeded
  • echo nge vars:
    $ echo $MSG
    project-3
    Job succeeded

Ilifa elinexabiso elingenanto [imithombo]

Ixabiso elingenanto likwalixabiso
Ixabiso elingenanto aliyiyo i-Null

Amaqela aneenguqu

I-Gitlab-CI ilufumana njani ilifa okuguquguquka kokusingqongileyo?

.gitlab-ci.yml

image: busybox:latest
variables:
  GIT_STRATEGY: none
  MSG: "Custom in global .gitlab-ci.yml"

echo:
  stage: test
  script:
    - echo $MSG

echo with var:
  stage: test
  variables:
    MSG: "Custom in job .gitlab-ci.yml"
  script:
    - echo $MSG

Isiphumo sombhobho

  • i-echo:
    $ echo $MSG
    Job succeeded
  • echo nge vars:
    $ echo $MSG
    Job succeeded

Ilifa ngokubandakanya kunye namaqela [imithombo]

Apha siza kuzama ukubandakanya iprojekthi-2 kwiprojekthi-3
Amaqela kule meko anokubaluleka.

Amaqela aneenguqu

I-Gitlab-CI ilufumana njani ilifa okuguquguquka kokusingqongileyo?

.gitlab-ci.yml

Kwaye usete umahluko kwihlabathi jikelele kwi-.gitlab-ci.yml

variables:
 MSG: "With  include  .gitlab-ci.yml"
include:
 - project: how-is-gitlab-ci-inherit-environment-variables/z/y/project-3
   file: '.gitlab-ci.yml'

Isiphumo sombhobho

  • i-echo:
    $ echo $MSG
    B
    Job succeeded
  • echo nge vars:
    $ echo $MSG
    B
    Job succeeded

Ilifa kunye nokubandakanya [imithombo]

Apha siza kuzama ukubandakanya iprojekthi-2 kwiprojekthi-3.
Ngomqathango wokuba: akukho maqela okanye iprojekthi ngokwayo enezinto eziguquguqukayo.

Amaqela aneenguqu

I-Gitlab-CI ilufumana njani ilifa okuguquguquka kokusingqongileyo?

.gitlab-ci.yml

Kuyafana nakumzekelo odlulileyo

variables:
 MSG: "With  include  .gitlab-ci.yml"
include:
 - project: how-is-gitlab-ci-inherit-environment-variables/z/y/project-3
   file: '.gitlab-ci.yml'

Isiphumo sombhobho

  • i-echo:
    $ echo $MSG
    With include .gitlab-ci.yml
    Job succeeded
  • echo nge vars:
    $ echo $MSG
    Custom in job .gitlab-ci.yml
    Job succeeded

Iziphumo zezi zilandelayo izinto eziphambili:

  1. Izinto eziguquguqukayo kwiisethingi zeprojekthi
  2. Izinto eziguquguqukayo ngokwamaqela
  3. Izinto eziguquguqukayo ezichazwe ngokungqongqo ngaphakathi kwemisebenzi (kubandakanywa iifayile ezibandakanyiweyo)
  4. Izinto eziguquguqukayo zehlabathi ngaphakathi .gitlab-ci.yml
  5. Iinguqu zehlabathi jikelele ngaphakathi kweefayile ezifakiwe

isiphelo

Eyona ngongoma ingabonakaliyo kukuba umgaqo othi "i-variable esondeleyo kwikhowudi, kubaluleke kakhulu" isebenza kuqala kumaqela, kwaye ngoko umgaqo ofanayo wezinto eziguquguqukayo ngaphakathi .gitlab-ci.yml, kodwa phantsi kwemeko kuphela. ukuba iinguqu kumaqela azichazwanga .
Okulandelayo, ingongoma ebalulekileyo kukuqonda ukuba indawo yehlabathi jikelele kunye ne-.gitlab-ci.yml ixhaphakile. Kwaye ifayile apho ukufakwa kwenzeka khona kubaluleke kakhulu.

umthombo: www.habr.com

Yongeza izimvo