Gitlab-CI guherbarên jîngehê çawa mîras digire?

Guherbarên li Gitlab dikarin li çend cihan bêne danîn:

  1. Di mîhengên komê de
  2. Di mîhengên projeyê de
  3. Hundir .gitlab-ci.yml

Di vê rewşê de, guhêrbarên di mîhengên komê û projeyê de dikarin wekî "pel" an "guhêrbar birêkûpêk" werin danîn û qutikên "parastî" û "maske" kontrol bikin.

Gitlab-CI guherbarên jîngehê çawa mîras digire?

Ka em bi mîrata sade dest pê bikin û ew ê hêdî hêdî tevlihevtir bibe.

Lîsteya paşîn a astên pêşîn dikare di dawiya belgeyê de were dîtin.

Mîras bi koman [çavkaniyên]

Guherînên ji koman têne mîras kirin, bi qaîdeya ku kom her ku nêzî projeyê ye, nirxa wê girîngtir e.

Komên bi guhêrbar

Gitlab-CI guherbarên jîngehê çawa mîras digire?

.gitlab-ci.yml

image: busybox:latest
variables:
  GIT_STRATEGY: none

echo:
  stage: test
  script:
    - echo $MSG

Encama boriyê

$ echo $MSG
B

Ger guhêrbar di koma B de nehata diyar kirin, wê hingê me dê nirxa A bidîta.

guherbarên mîras di hundirê .gitlab-ci.yml [çavkaniyên]

Li vir her tişt pir hêsan e: hûn dikarin guhêrbarek gerdûnî saz bikin, an jî hûn dikarin wê di hundurê kar de binivîsin.

Komên bi guhêrbar

Gitlab-CI guherbarên jîngehê çawa mîras digire?

.gitlab-ci.yml

Ka em naha 2 karan biafirînin, di yek ji wan de em ê bi eşkere $MSG destnîşan bikin.

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

Encama boriyê

  • dengvegerîn:
    $ echo $MSG
    Custom in global .gitlab-ci.yml
    Job succeeded
  • echo bi vars:
    $ echo $MSG
    Custom in job .gitlab-ci.yml
    Job succeeded

Mîras bi kom û hundir .gitlab-ci.yml [çavkaniyên]

Werin em hewl bidin ku 2 mînakên berê li hev bikin. Guherbarên komê pêşî li guherbarên hundirê .gitlab-ci.yml digirin.

Komên bi guhêrbar

Gitlab-CI guherbarên jîngehê çawa mîras digire?

.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

Encama boriyê

  • dengvegerîn:
    $ echo $MSG
    Y
    Job succeeded
  • echo bi vars:
    $ echo $MSG
    Y
    Job succeeded

Mîrasiya bi diyarkirina guherbaran di mîhengên projeyê de [çavkaniyên]

Guherbarên di mîhengên projeyê de HERDEM xwedan pêşîniya herî bilind e! Û guhêrbarên ku di hundurê .gitlab-ci.yml de hatine destnîşan kirin tu rol naleyizin.

Komên bi guhêrbar

Guherbarên komê xwedî pêşanînek kêmtir in.
Gitlab-CI guherbarên jîngehê çawa mîras digire?

.gitlab-ci.yml

Ka em pelê ji mînaka berê bikar bînin. Li vir dîsa di hundurê .gitlab-ci.yml de guhêrbar hene, lê guhêrbarên di hundurê koman de hîn jî pêşî li wan digirin.

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

Encama boriyê

  • dengvegerîn:
    $ echo $MSG
    project-3
    Job succeeded
  • echo bi vars:
    $ echo $MSG
    project-3
    Job succeeded

Mîrasiya bi nirxê vala [çavkaniyên]

Nirxek vala jî nirxek e
Nirxek vala ne Null e

Komên bi guhêrbar

Gitlab-CI guherbarên jîngehê çawa mîras digire?

.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

Encama boriyê

  • dengvegerîn:
    $ echo $MSG
    Job succeeded
  • echo bi vars:
    $ echo $MSG
    Job succeeded

Mîrasiya bi tevlî û koman [çavkaniyên]

Li vir em ê hewl bidin ku projeya-2-ê di projeya-3-ê de bicîh bikin
Di vê rewşê de komên pêşîn hene.

Komên bi guhêrbar

Gitlab-CI guherbarên jîngehê çawa mîras digire?

.gitlab-ci.yml

Û di .gitlab-ci.yml de guhêrbar bi cihanî ve saz bike

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

Encama boriyê

  • dengvegerîn:
    $ echo $MSG
    B
    Job succeeded
  • echo bi vars:
    $ echo $MSG
    B
    Job succeeded

Mîrasiya bi tevlêbûnê [çavkaniyên]

Li vir em ê hewl bidin ku projeya-2-ê di projeya-3-ê de bicîh bikin.
Bi şertê ku: ne kom û ne jî proje bi xwe xwedî guherbaran bin.

Komên bi guhêrbar

Gitlab-CI guherbarên jîngehê çawa mîras digire?

.gitlab-ci.yml

Eynî wek mînaka berê

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

Encama boriyê

  • dengvegerîn:
    $ echo $MSG
    With include .gitlab-ci.yml
    Job succeeded
  • echo bi vars:
    $ echo $MSG
    Custom in job .gitlab-ci.yml
    Job succeeded

Encam wiha ne pêşanî:

  1. Guherbarên di mîhengên projeyê de
  2. Guherbarên di koman de
  3. Guherînên ku di hundurê karan de bi hişkî hatine destnîşan kirin (tevî pelên tê de)
  4. Guherbarên gerdûnî yên hundurê .gitlab-ci.yml
  5. Guherbarên gerdûnî yên di hundurê pelan de hene

encamê

Xala herî ne diyar ev e ku qaîdeya "guherbarek çiqas nêzê kodê be, ew qas girîngtir e" pêşî ji bo koman dixebite, û dûv re jî heman qaîdeyek ji bo guhêrbarên hundurê .gitlab-ci.yml, lê tenê di bin şertê de dixebite. ku guherbarên di koman de ne diyar in .
Dûv re, xalek girîng ev e ku meriv fêm bike ku cîhê gerdûnî ji bo .gitlab-ci.yml ya sereke û tê de hevpar e. Û pelê ku tê de tevlêbûn çêdibe pêşanî heye.

Source: www.habr.com

Add a comment