Gitlab-CI inogara sei nhaka yemamiriro ekunze akasiyana?

Variables muGitlab inogona kuiswa munzvimbo dzinoverengeka:

  1. Muzvirongwa zveboka
  2. Muzvirongwa zveprojekiti
  3. Inside .gitlab-ci.yml

Muchiitiko ichi, zvakasiyana-siyana muboka uye zvirongwa zvepurojekiti zvinogona kuiswa se "faira" kana "kuchinja nguva dzose" uye tarisa "protected" uye "mask" checkboxes.

Gitlab-CI inogara sei nhaka yemamiriro ekunze akasiyana?

Ngatitangei nenhaka yakapfava uye zvishoma nezvishoma inova yakaoma.

Rondedzero yekupedzisira yematanho ekutanga inogona kuwanikwa pamagumo egwaro.

Nhaka nemapoka [zvinyorwa]

Zvisikwa kubva kumapoka zvakagarwa nhaka, nemutemo wekuti iyo iri pedyo neboka iri kune purojekiti, iyo inonyanya kukosha kukosha kwayo.

Mapoka ane zvinoshanduka

Gitlab-CI inogara sei nhaka yemamiriro ekunze akasiyana?

.gitlab-ci.yml

image: busybox:latest
variables:
  GIT_STRATEGY: none

echo:
  stage: test
  script:
    - echo $MSG

Pipeline result

$ echo $MSG
B

Dai shanduko isina kutaurwa muboka B, tingadai takaona kukosha A.

Inheriting variables inside .gitlab-ci.yml [zvinyorwa]

Zvese zviri nyore pano: unogona kuseta shanduko yepasirese, kana iwe unogona kuinyora mukati mebasa.

Mapoka ane zvinoshanduka

Gitlab-CI inogara sei nhaka yemamiriro ekunze akasiyana?

.gitlab-ci.yml

Ngatitangei mabasa maviri, mune rimwe rawo ticharatidza pachena $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 result

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

Nhaka nemapoka uye mukati .gitlab-ci.yml [zvinyorwa]

Ngatiedzei kubatanidza yapfuura 2 mienzaniso. Zvikamu zveboka zvinotungamira pane zvinosiyana mukati me.gitlab-ci.yml.

Mapoka ane zvinoshanduka

Gitlab-CI inogara sei nhaka yemamiriro ekunze akasiyana?

.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 result

  • maungira:
    $ echo $MSG
    Y
    Job succeeded
  • echo with vars:
    $ echo $MSG
    Y
    Job succeeded

Nhaka ine zvirevo zvakasiyana muzvirongwa zveprojekiti [zvinyorwa]

Zvinosiyana-siyana muzvirongwa zvepurojekiti GARA zvine izvo zvinonyanya kukosha! Uye izvo zvakasiyana-siyana zvakatsanangurwa mukati .gitlab-ci.yml hazvina basa.

Mapoka ane zvinoshanduka

Zvikamu zveboka zvine zvakaderera.
Gitlab-CI inogara sei nhaka yemamiriro ekunze akasiyana?

.gitlab-ci.yml

Ngatishandisei faira kubva pamuenzaniso wapfuura. Pano zvakare pane zvinosiyana zvakatsanangurwa mukati me .gitlab-ci.yml, asi zvakasiyana-siyana mukati memapoka zvichiri kutora pamberi pazvo.

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 result

  • maungira:
    $ echo $MSG
    project-3
    Job succeeded
  • echo with vars:
    $ echo $MSG
    project-3
    Job succeeded

Nhaka ine value isina chinhu [zvinyorwa]

Kukosha kusina chinhu zvakare kukosha
Kukosha kusina chinhu hakusi Null

Mapoka ane zvinoshanduka

Gitlab-CI inogara sei nhaka yemamiriro ekunze akasiyana?

.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 result

  • maungira:
    $ echo $MSG
    Job succeeded
  • echo with vars:
    $ echo $MSG
    Job succeeded

Nhaka ine sanganisira uye mapoka [zvinyorwa]

Pano isu tichaedza kuisa purojekiti-2 muchirongwa-3
Mapoka munyaya iyi ane zvakakosha.

Mapoka ane zvinoshanduka

Gitlab-CI inogara sei nhaka yemamiriro ekunze akasiyana?

.gitlab-ci.yml

Uye isa shanduko pasi rose mu .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 result

  • maungira:
    $ echo $MSG
    B
    Job succeeded
  • echo with vars:
    $ echo $MSG
    B
    Job succeeded

Nhaka with include [zvinyorwa]

Pano isu tichaedza kuisa purojekiti-2 muchirongwa-3.
Nechimiro chekuti: hapana mapoka kana purojekiti pachayo ine chero shanduko.

Mapoka ane zvinoshanduka

Gitlab-CI inogara sei nhaka yemamiriro ekunze akasiyana?

.gitlab-ci.yml

Zvakafanana nemuenzaniso wapfuura

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 result

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

Migumisiro yacho ndeiyi inotevera zvinokosha:

  1. Variables muzvirongwa zveprojekiti
  2. Variables mumapoka
  3. Misiyano yakanyatsotsanangurwa mukati memabasa (kusanganisira mafaira akasanganisirwa)
  4. Global variables mukati .gitlab-ci.yml
  5. Global variables mukati chaisanganisira mafaira

mhedziso

Chinhu chisinganyatsozivikanwi ndechekuti mutemo wekuti "iyo iri pedyo nekusiyana ndeyekodeti, iyo inonyanya kukosha" inoshanda kutanga kumapoka, uyezve mutemo wakafanana wezvakasiyana mukati .gitlab-ci.yml, asi pasi pemamiriro ezvinhu. kuti zvinosiyana mumapoka hazvina kutaurwa .
Zvadaro, pfungwa inokosha ndeyekunzwisisa kuti nzvimbo yepasi rose yepamusoro uye inosanganisira .gitlab-ci.yml inowanzoitika. Uye iyo faira iyo inosanganisirwa inoitika ine yekutanga.

Source: www.habr.com

Voeg