Ngabe i-Gitlab-CI ikuthola kanjani ukuguquguquka kwemvelo?

Okuguquguqukayo ku-Gitlab kungasethwa ezindaweni eziningana:

  1. Kuzilungiselelo zeqembu
  2. Kuzilungiselelo zephrojekthi
  3. Ngaphakathi kwe-.gitlab-ci.yml

Kulokhu, okuguquguqukayo eqenjini kanye nezilungiselelo zephrojekthi zingasethwa njengokuthi "ifayela" noma "okuguquguqukayo okuvamile" futhi uhlole amabhokisi okuhlola "avikelwe" kanye "namask".

Ngabe i-Gitlab-CI ikuthola kanjani ukuguquguquka kwemvelo?

Ake siqale ngefa elilula futhi kancane kancane lizoba yinkimbinkimbi.

Uhlu lokugcina lwamazinga abalulekile lungatholakala ekugcineni kombhalo.

Ifa ngamaqembu [imithombo]

Izinguquko ezivela emaqenjini zizuzwa njengefa, ngomthetho wokuthi lapho iqembu liseduze nephrojekthi, kubaluleke kakhulu ukubaluleka kwalo.

Amaqembu aneziguquguqukayo

Ngabe i-Gitlab-CI ikuthola kanjani ukuguquguquka kwemvelo?

.gitlab-ci.yml

image: busybox:latest
variables:
  GIT_STRATEGY: none

echo:
  stage: test
  script:
    - echo $MSG

Umphumela wepayipi

$ echo $MSG
B

Ukube okuguquguqukayo bekungacacisiwe eqenjini B, ngabe silibonile inani A.

Ifa okuhlukile ngaphakathi kwe-.gitlab-ci.yml [imithombo]

Konke kulula lapha: ungasetha okuguquguqukayo emhlabeni jikelele, noma ungabhala phezu komsebenzi.

Amaqembu aneziguquguqukayo

Ngabe i-Gitlab-CI ikuthola kanjani ukuguquguquka kwemvelo?

.gitlab-ci.yml

Manje ake sidale imisebenzi emi-2, kweyodwa yazo sizobonisa ngokusobala 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

Umphumela wepayipi

  • waphonswa ngaphandle:
    $ echo $MSG
    Custom in global .gitlab-ci.yml
    Job succeeded
  • echo ngama-vars:
    $ echo $MSG
    Custom in job .gitlab-ci.yml
    Job succeeded

Ifa elinamaqembu nangaphakathi .gitlab-ci.yml [imithombo]

Ake sizame ukuhlanganisa izibonelo ezi-2 ezedlule. Okuguquguqukayo kweqembu kuza kuqala kuneziguquguqukayo ezingaphakathi kwe-.gitlab-ci.yml.

Amaqembu aneziguquguqukayo

Ngabe i-Gitlab-CI ikuthola kanjani ukuguquguquka kwemvelo?

.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

Umphumela wepayipi

  • waphonswa ngaphandle:
    $ echo $MSG
    Y
    Job succeeded
  • echo ngama-vars:
    $ echo $MSG
    Y
    Job succeeded

Ifa elinokucacisa okuguquguqukayo kuzilungiselelo zephrojekthi [imithombo]

Okuguquguqukayo kuzilungiselelo zephrojekthi NJALO kunokubaluleka okuphezulu kakhulu! Futhi okuhlukile okucaciswe ngaphakathi kwe-.gitlab-ci.yml azidlali indima.

Amaqembu aneziguquguqukayo

Okuguquguqukayo kweqembu kunokubalulekile okuphansi.
Ngabe i-Gitlab-CI ikuthola kanjani ukuguquguquka kwemvelo?

.gitlab-ci.yml

Masisebenzise ifayela esibonelweni sangaphambilini. Lapha futhi kukhona okuhlukile okucaciswe ngaphakathi kwe-.gitlab-ci.yml, kodwa okuhlukile ngaphakathi kwamaqembu kusaza kuqala ngaphezu kwakho.

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

Umphumela wepayipi

  • waphonswa ngaphandle:
    $ echo $MSG
    project-3
    Job succeeded
  • echo ngama-vars:
    $ echo $MSG
    project-3
    Job succeeded

Ifa elinenani elingenalutho [imithombo]

Inani elingenalutho liphinde libe inani
Inani elingenalutho aliyona Null

Amaqembu aneziguquguqukayo

Ngabe i-Gitlab-CI ikuthola kanjani ukuguquguquka kwemvelo?

.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

Umphumela wepayipi

  • waphonswa ngaphandle:
    $ echo $MSG
    Job succeeded
  • echo ngama-vars:
    $ echo $MSG
    Job succeeded

Ifa ngokuhlanganisa kanye namaqembu [imithombo]

Lapha sizozama ukufaka iphrojekthi-2 kuphrojekthi-3
Amaqembu kulesi simo anokubaluleka.

Amaqembu aneziguquguqukayo

Ngabe i-Gitlab-CI ikuthola kanjani ukuguquguquka kwemvelo?

.gitlab-ci.yml

Futhi usethe okuguquguqukayo emhlabeni jikelele kokuthi .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'

Umphumela wepayipi

  • waphonswa ngaphandle:
    $ echo $MSG
    B
    Job succeeded
  • echo ngama-vars:
    $ echo $MSG
    B
    Job succeeded

Ifa elihlanganisa [imithombo]

Lapha sizozama ukufaka iphrojekthi-2 kuphrojekthi-3.
Ngombandela wokuthi: amaqembu noma iphrojekthi ngokwayo ayinakho okuguquguqukayo.

Amaqembu aneziguquguqukayo

Ngabe i-Gitlab-CI ikuthola kanjani ukuguquguquka kwemvelo?

.gitlab-ci.yml

Ngokufanayo nasesibonelweni sangaphambilini

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

Umphumela wepayipi

  • waphonswa ngaphandle:
    $ echo $MSG
    With include .gitlab-ci.yml
    Job succeeded
  • echo ngama-vars:
    $ echo $MSG
    Custom in job .gitlab-ci.yml
    Job succeeded

Imiphumela imi kanje okubalulekile:

  1. Okuguquguqukayo kuzilungiselelo zephrojekthi
  2. Okuguquguqukayo ngamaqembu
  3. Okuguquguqukayo okucaciswe ngokuqinile ngaphakathi kwemisebenzi (kuhlanganise namafayela afakiwe)
  4. Okuguquguqukayo komhlaba wonke ngaphakathi kwe-.gitlab-ci.yml
  5. Okuguquguqukayo komhlaba wonke ngaphakathi kwamafayela afakiwe

isiphetho

Iphuzu elingabonakali kakhulu ukuthi umthetho othi "ukusondela kokuguquguquka kukhodi, kubaluleke kakhulu" kusebenza kuqala kumaqembu, bese kuba umthetho ofanayo wokuguquguquka ngaphakathi kwe-.gitlab-ci.yml, kodwa ngaphansi kwesimo kuphela. ukuthi okuguquguqukayo emaqenjini akucacisiwe .
Okulandelayo, iphuzu elibalulekile ukuqonda ukuthi isikhala somhlaba wonke se-main nehlanganisiwe .gitlab-ci.yml sivamile. Futhi ifayela lapho ukufakwa kwenzeka khona linokubaluleka.

Source: www.habr.com

Engeza amazwana