Ahoana no fomba handovaan'i Gitlab-CI ny fari-piainan'ny tontolo iainana?

Ny variables ao amin'ny Gitlab dia azo apetraka amin'ny toerana maromaro:

  1. Ao amin'ny firafitry ny vondrona
  2. Ao amin'ny fandaharana tetikasa
  3. Ao anaty .gitlab-ci.yml

Amin'ity tranga ity, ny fari-piadidiana ao amin'ny vondrona sy ny tetik'asa dia azo apetraka ho "rakitra" na "variana mahazatra" ary jereo ny boaty "arovana" sy "saron-tava".

Ahoana no fomba handovaan'i Gitlab-CI ny fari-piainan'ny tontolo iainana?

Andeha isika hanomboka amin'ny lova tsotra ary ho sarotra tsikelikely izany.

Ny lisitra farany amin'ny ambaratonga laharam-pahamehana dia hita any amin'ny faran'ny antontan-taratasy.

Lova miaraka amin'ny vondrona [loharano]

Nolovaina ny fiovaovana avy amin'ny vondrona, miaraka amin'ny fitsipika hoe arakaraka ny toerana misy ny vondrona amin'ny tetikasa no zava-dehibe kokoa ny sandany.

Vondrona misy miovaova

Ahoana no fomba handovaan'i Gitlab-CI ny fari-piainan'ny tontolo iainana?

.gitlab-ci.yml

image: busybox:latest
variables:
  GIT_STRATEGY: none

echo:
  stage: test
  script:
    - echo $MSG

Vokatry ny fantsona

$ echo $MSG
B

Raha tsy voatondro ao amin'ny vondrona B ny variable dia ho hitantsika ny sanda A.

Mandova fari-piainana ao anatin'ny .gitlab-ci.yml [loharano]

Tsotra ny zava-drehetra eto: azonao atao ny mametraka fari-piainana maneran-tany, na azonao atao ny manoratra izany ao anatin'ny asa.

Vondrona misy miovaova

Ahoana no fomba handovaan'i Gitlab-CI ny fari-piainan'ny tontolo iainana?

.gitlab-ci.yml

Andao izao hamorona asa 2, amin'ny iray amin'izy ireo dia hanondro mazava ny $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

Vokatry ny fantsona

  • ako:
    $ echo $MSG
    Custom in global .gitlab-ci.yml
    Job succeeded
  • ako miaraka amin'ny vars:
    $ echo $MSG
    Custom in job .gitlab-ci.yml
    Job succeeded

Lova miaraka amin'ny vondrona sy ao anaty .gitlab-ci.yml [loharano]

Andeha isika hanambatra ireo ohatra 2 teo aloha. Laharam-pahamehana noho ny fari-piainana ao anatin'ny .gitlab-ci.yml ny faribolan'ny vondrona.

Vondrona misy miovaova

Ahoana no fomba handovaan'i Gitlab-CI ny fari-piainan'ny tontolo iainana?

.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

Vokatry ny fantsona

  • ako:
    $ echo $MSG
    Y
    Job succeeded
  • ako miaraka amin'ny vars:
    $ echo $MSG
    Y
    Job succeeded

Fandovana miaraka amin'ny fari-piainana voafaritra ao amin'ny firafitry ny tetikasa [loharano]

Ny variana amin'ny firafitry ny tetikasa FOANA no manana ny laharam-pahamehana ambony indrindra! Ary tsy manana anjara toerana ny fari-piainana voatondro ao anatin'ny .gitlab-ci.yml.

Vondrona misy miovaova

Ny faribolan'ny vondrona dia manana laharam-pahamehana ambany kokoa.
Ahoana no fomba handovaan'i Gitlab-CI ny fari-piainan'ny tontolo iainana?

.gitlab-ci.yml

Andao hampiasa ny rakitra avy amin'ny ohatra teo aloha. Eto indray dia misy fari-pitsipika voatondro ao anatin'ny .gitlab-ci.yml, fa ny fari-piadidiana ao anatin'ny vondrona dia mbola mibahana eo amin'izy ireo.

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

Vokatry ny fantsona

  • ako:
    $ echo $MSG
    project-3
    Job succeeded
  • ako miaraka amin'ny vars:
    $ echo $MSG
    project-3
    Job succeeded

Lova misy sanda foana [loharano]

Ny sanda foana dia sanda ihany koa
Ny sanda foana dia tsy Null

Vondrona misy miovaova

Ahoana no fomba handovaan'i Gitlab-CI ny fari-piainan'ny tontolo iainana?

.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

Vokatry ny fantsona

  • ako:
    $ echo $MSG
    Job succeeded
  • ako miaraka amin'ny vars:
    $ echo $MSG
    Job succeeded

Lova miaraka amin'ny fampidirana sy vondrona [loharano]

Eto isika dia hiezaka ny hampiditra ny tetikasa-2 amin'ny tetikasa-3
Ny vondrona amin'ity tranga ity dia manana laharam-pahamehana.

Vondrona misy miovaova

Ahoana no fomba handovaan'i Gitlab-CI ny fari-piainan'ny tontolo iainana?

.gitlab-ci.yml

Ary apetraho amin'ny .gitlab-ci.yml ny fari-piainana maneran-tany

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

Vokatry ny fantsona

  • ako:
    $ echo $MSG
    B
    Job succeeded
  • ako miaraka amin'ny vars:
    $ echo $MSG
    B
    Job succeeded

Lova miaraka amin'ny [loharano]

Eto isika dia hiezaka ny hampiditra ny tetikasa-2 amin'ny tetikasa-3.
Miaraka amin'ny fepetra hoe: na ny vondrona na ny tetikasa dia tsy manana fari-piainana.

Vondrona misy miovaova

Ahoana no fomba handovaan'i Gitlab-CI ny fari-piainan'ny tontolo iainana?

.gitlab-ci.yml

Mitovy amin’ilay ohatra teo aloha

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

Vokatry ny fantsona

  • ako:
    $ echo $MSG
    With include .gitlab-ci.yml
    Job succeeded
  • ako miaraka amin'ny vars:
    $ echo $MSG
    Custom in job .gitlab-ci.yml
    Job succeeded

Toy izao ny vokatra azo ZAVA-DEHIBE INDRINDRA:

  1. Variable amin'ny firafitry ny tetikasa
  2. Variable amin'ny vondrona
  3. Variable voafaritra tsara ao anaty asa (anisan'izany ny rakitra)
  4. Variable eran-tany ao anaty .gitlab-ci.yml
  5. Ny variables manerantany ao anatiny dia misy rakitra

famaranana

Ny teboka tsy mibaribary indrindra dia ny hoe ny fitsipika "arakaraka ny akaiky kokoa ny fari-pitsipika iray, ny zava-dehibe kokoa" dia miasa voalohany ho an'ny vondrona, ary avy eo ny fitsipika mitovy amin'ny variables ao anaty .gitlab-ci.yml, fa eo ambanin'ny fepetra ihany. fa ny variables ao amin'ny vondrona dia tsy voafaritra.
Manaraka, teboka manan-danja dia ny fahatakarana fa mahazatra ny habaka manerantany ho an'ny .gitlab-ci.yml lehibe sy tafiditra ao. Ary ny rakitra misy ny fampidirana dia manana laharam-pahamehana.

Source: www.habr.com

Add a comment