Ta yaya Gitlab-CI ke gaji masu canjin yanayi?

Ana iya saita masu canji a cikin Gitlab a wurare da yawa:

  1. A cikin saitunan rukuni
  2. A cikin saitunan aikin
  3. Ciki .gitlab-ci.yml

A wannan yanayin, ana iya saita masu canji a cikin rukuni da saitunan aikin azaman "fayil" ko "masu canji na yau da kullun" kuma duba akwatunan rajistan "karewa" da "mask".

Ta yaya Gitlab-CI ke gaji masu canjin yanayi?

Bari mu fara da gado mai sauƙi kuma sannu a hankali zai zama mai rikitarwa.

Ana iya samun lissafin ƙarshe na matakan fifiko a ƙarshen takaddar.

Gado tare da kungiyoyi [sources]

Ana gadon sauye-sauye daga ƙungiyoyi, tare da ka'idar cewa mafi kusancin ƙungiyar zuwa aikin, mafi mahimmancin darajarsa.

Ƙungiyoyi masu canji

Ta yaya Gitlab-CI ke gaji masu canjin yanayi?

.gitlab-ci.yml

image: busybox:latest
variables:
  GIT_STRATEGY: none

echo:
  stage: test
  script:
    - echo $MSG

Sakamakon bututun mai

$ echo $MSG
B

Idan ba a bayyana ma'anar mai canzawa a rukunin B ba, da mun ga darajar A.

Gadon masu canji a cikin .gitlab-ci.yml [sources]

Komai abu ne mai sauqi a nan: zaku iya saita canji a duniya, ko kuna iya sake rubuta shi a cikin aikin.

Ƙungiyoyi masu canji

Ta yaya Gitlab-CI ke gaji masu canjin yanayi?

.gitlab-ci.yml

Yanzu bari mu ƙirƙiri ayyuka 2, a cikin ɗayan su za mu nuna a sarari $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

Sakamakon bututun mai

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

Gado tare da ƙungiyoyi da ciki .gitlab-ci.yml [sources]

Bari mu yi ƙoƙari mu haɗa misalan 2 da suka gabata. Masu canjin rukuni suna fifiko akan masu canji a cikin .gitlab-ci.yml.

Ƙungiyoyi masu canji

Ta yaya Gitlab-CI ke gaji masu canjin yanayi?

.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

Sakamakon bututun mai

  • amsa:
    $ echo $MSG
    Y
    Job succeeded
  • echo da vars:
    $ echo $MSG
    Y
    Job succeeded

Gado tare da tantance masu canji a cikin saitunan aikin [sources]

Sauye-sauye a cikin saitunan aikin KOYAUSHE suna da fifiko mafi girma! Kuma masu canjin da aka kayyade a cikin .gitlab-ci.yml ba sa taka wata rawa.

Ƙungiyoyi masu canji

Masu canjin rukuni suna da fifiko kaɗan.
Ta yaya Gitlab-CI ke gaji masu canjin yanayi?

.gitlab-ci.yml

Bari mu yi amfani da fayil daga misalin da ya gabata. Anan kuma akwai masu canji da aka kayyade a cikin .gitlab-ci.yml, amma masu canji a cikin ƙungiyoyi har yanzu suna kan gaba da su.

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

Sakamakon bututun mai

  • amsa:
    $ echo $MSG
    project-3
    Job succeeded
  • echo da vars:
    $ echo $MSG
    project-3
    Job succeeded

Gado tare da darajar fanko [sources]

Ƙimar fanko kuma ƙima ce
Ƙimar fanko ba Rago ba ce

Ƙungiyoyi masu canji

Ta yaya Gitlab-CI ke gaji masu canjin yanayi?

.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

Sakamakon bututun mai

  • amsa:
    $ echo $MSG
    Job succeeded
  • echo da vars:
    $ echo $MSG
    Job succeeded

Gado tare da haɗawa da ƙungiyoyi [sources]

Anan za mu yi ƙoƙarin haɗa aikin-2 a cikin aikin-3
Ƙungiyoyi a wannan yanayin suna da fifiko.

Ƙungiyoyi masu canji

Ta yaya Gitlab-CI ke gaji masu canjin yanayi?

.gitlab-ci.yml

Kuma saita m a duniya a .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'

Sakamakon bututun mai

  • amsa:
    $ echo $MSG
    B
    Job succeeded
  • echo da vars:
    $ echo $MSG
    B
    Job succeeded

Gado tare da haɗawa [sources]

Anan za mu yi ƙoƙarin haɗa aikin-2 a cikin aikin-3.
Tare da sharaɗin cewa: ƙungiyoyi ko aikin kansa ba su da wani canji.

Ƙungiyoyi masu canji

Ta yaya Gitlab-CI ke gaji masu canjin yanayi?

.gitlab-ci.yml

Kamar yadda yake a misali na baya

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

Sakamakon bututun mai

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

Sakamakon kamar haka abubuwan fifiko:

  1. Canje-canje a cikin saitunan aikin
  2. Sauye-sauye a kungiyoyi
  3. Maɓallin ƙayyadaddun ƙayyadaddun ayyuka a cikin ayyuka (ciki har da fayilolin da aka haɗa)
  4. Masu canjin duniya a cikin .gitlab-ci.yml
  5. Canje-canjen duniya a ciki sun haɗa da fayiloli

ƙarshe

Batun da ba a bayyana ba shine cewa ka'idar "mafi kusanci mai canzawa shine lambar, mafi mahimmancin shi" yana aiki da farko don ƙungiyoyi, sannan wannan ka'ida don masu canji a cikin .gitlab-ci.yml, amma kawai a ƙarƙashin yanayin. cewa ba a ƙayyade masu canji a cikin ƙungiyoyi ba.
Na gaba, muhimmin batu shine fahimtar cewa sararin duniya don babban kuma ya haɗa da .gitlab-ci.yml na kowa ne. Kuma fayil ɗin da haɗawar ke faruwa yana da fifiko.

source: www.habr.com

Add a comment