Gitlab-CI tau txais txiaj ntsig ib puag ncig hloov pauv li cas?

Kev hloov pauv hauv Gitlab tuaj yeem teeb tsa hauv ntau qhov chaw:

  1. Hauv pab pawg teeb tsa
  2. Hauv qhov project nqis
  3. Inside .gitlab-ci.yml

Hauv qhov no, qhov sib txawv hauv pab pawg thiab cov phiaj xwm kev teeb tsa tuaj yeem raug teeb tsa ua "cov ntaub ntawv" lossis "cov hloov pauv tsis tu ncua" thiab kos lub thawv "tiv thaiv" thiab "qhov ncauj qhov ntswg".

Gitlab-CI tau txais txiaj ntsig ib puag ncig hloov pauv li cas?

Cia peb pib nrog cov qub txeeg qub teg yooj yim thiab nws yuav maj mam ua ntau dua.

Cov npe kawg ntawm cov qib tseem ceeb tuaj yeem pom nyob rau ntawm qhov kawg ntawm daim ntawv.

Kev cuab yeej cuab tam nrog pab pawg [qhov chaw]

Cov kev hloov pauv los ntawm cov pab pawg tau txais qub txeeg qub teg, nrog rau txoj cai tias qhov ze ntawm pab pawg nyob rau hauv qhov project, qhov tseem ceeb tshaj nws tus nqi yog.

Cov pab pawg nrog cov hloov pauv

Gitlab-CI tau txais txiaj ntsig ib puag ncig hloov pauv li cas?

.gitlab-ci.yml

image: busybox:latest
variables:
  GIT_STRATEGY: none

echo:
  stage: test
  script:
    - echo $MSG

Pipeline tshwm sim

$ echo $MSG
B

Yog tias qhov sib txawv tsis tau teev tseg hauv pawg B, ces peb yuav pom tus nqi A.

Inheriting variables hauv .gitlab-ci.yml [qhov chaw]

Txhua yam yooj yim heev ntawm no: koj tuaj yeem teeb tsa qhov hloov pauv thoob ntiaj teb, lossis koj tuaj yeem sau nws sab hauv txoj haujlwm.

Cov pab pawg nrog cov hloov pauv

Gitlab-CI tau txais txiaj ntsig ib puag ncig hloov pauv li cas?

.gitlab-ci.yml

Tam sim no cia peb tsim 2 txoj haujlwm, hauv ib qho ntawm lawv peb yuav qhia meej txog $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

Pipeline tshwm sim

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

Inheritance nrog pab pawg thiab hauv .gitlab-ci.yml [qhov chaw]

Cia peb sim ua ke 2 qhov piv txwv yav dhau los. Cov pab pawg sib txawv ua ntej tshaj qhov sib txawv hauv .gitlab-ci.yml.

Cov pab pawg nrog cov hloov pauv

Gitlab-CI tau txais txiaj ntsig ib puag ncig hloov pauv li cas?

.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

Pipeline tshwm sim

  • ncha:
    $ echo $MSG
    Y
    Job succeeded
  • echo nrog vars:
    $ echo $MSG
    Y
    Job succeeded

Cov cuab yeej cuab tam nrog kev qhia cov hloov pauv hauv qhov project nqis [qhov chaw]

Kev hloov pauv hauv qhov project nqis ib txwm muaj qhov tseem ceeb tshaj plaws! Thiab cov kev hloov pauv tau teev tseg hauv .gitlab-ci.yml tsis ua lub luag haujlwm.

Cov pab pawg nrog cov hloov pauv

Cov pab pawg sib txawv muaj qhov tseem ceeb qis dua.
Gitlab-CI tau txais txiaj ntsig ib puag ncig hloov pauv li cas?

.gitlab-ci.yml

Cia peb siv cov ntaub ntawv los ntawm qhov piv txwv yav dhau los. Ntawm no dua muaj cov variables teev nyob rau hauv .gitlab-ci.yml, tab sis kuj variables nyob rau hauv pab pawg neeg tseem coj precedence tshaj lawv.

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

Pipeline tshwm sim

  • ncha:
    $ echo $MSG
    project-3
    Job succeeded
  • echo nrog vars:
    $ echo $MSG
    project-3
    Job succeeded

Cov cuab yeej cuab tam nrog tus nqi khoob [qhov chaw]

Tus nqi npliag kuj yog tus nqi
Tus nqi khoob tsis yog Null

Cov pab pawg nrog cov hloov pauv

Gitlab-CI tau txais txiaj ntsig ib puag ncig hloov pauv li cas?

.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

Pipeline tshwm sim

  • ncha:
    $ echo $MSG
    Job succeeded
  • echo nrog vars:
    $ echo $MSG
    Job succeeded

Cov cuab yeej cuab tam nrog suav nrog thiab pab pawg [qhov chaw]

Ntawm no peb yuav sim suav nrog qhov project-2 hauv qhov project-3
Pawg hauv qhov no muaj qhov tseem ceeb.

Cov pab pawg nrog cov hloov pauv

Gitlab-CI tau txais txiaj ntsig ib puag ncig hloov pauv li cas?

.gitlab-ci.yml

Thiab teeb tsa qhov hloov pauv thoob ntiaj teb hauv .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'

Pipeline tshwm sim

  • ncha:
    $ echo $MSG
    B
    Job succeeded
  • echo nrog vars:
    $ echo $MSG
    B
    Job succeeded

Cov cuab yeej cuab tam nrog suav nrog [qhov chaw]

Ntawm no peb yuav sim suav nrog qhov project-2 hauv qhov project-3.
Nrog rau cov xwm txheej uas: tsis yog pawg lossis qhov project nws tus kheej tsis muaj qhov hloov pauv.

Cov pab pawg nrog cov hloov pauv

Gitlab-CI tau txais txiaj ntsig ib puag ncig hloov pauv li cas?

.gitlab-ci.yml

Ib yam li hauv qhov piv txwv yav dhau los

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

Pipeline tshwm sim

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

Cov txiaj ntsig tau raws li hauv qab no ua ntej:

  1. Kev hloov pauv hauv qhov project nqis
  2. Hloov pauv hauv pab pawg
  3. Kev hloov pauv nruj me ntsis hauv cov haujlwm (nrog rau cov ntaub ntawv suav nrog)
  4. Ntiaj teb hloov pauv hauv .gitlab-ci.yml
  5. Cov kev hloov pauv thoob ntiaj teb hauv cov ntaub ntawv suav nrog

xaus

Qhov tsis pom tseeb tshaj plaws yog txoj cai "qhov ze dua qhov sib txawv yog rau txoj cai, qhov tseem ceeb dua nws yog" ua ntej rau pawg, thiab tom qab ntawd tib txoj cai rau cov hloov pauv hauv .gitlab-ci.yml, tab sis tsuas yog nyob rau hauv cov xwm txheej. tias cov variables nyob rau hauv cov pab pawg tsis tau teev.
Tom ntej no, lub ntsiab lus tseem ceeb yog kom nkag siab tias qhov chaw thoob ntiaj teb rau lub ntsiab thiab suav nrog .gitlab-ci.yml yog qhov ntau. Thiab cov ntaub ntawv uas qhov kev suav nrog tshwm sim muaj qhov tseem ceeb.

Tau qhov twg los: www.hab.com

Ntxiv ib saib