Gellir gosod newidynnau yn Gitlab mewn sawl man:
- Mewn gosodiadau grŵp
- Yn y gosodiadau prosiect
- Y tu mewn i .gitlab-ci.yml
Yn yr achos hwn, gellir gosod newidynnau yn y gosodiadau grŵp a phrosiect fel “ffeil” neu “newidyn rheolaidd” a gwirio'r blychau ticio “gwarchodedig” a “mwgwd”.
Gadewch i ni ddechrau gydag etifeddiaeth syml a bydd yn dod yn fwy cymhleth yn raddol.
Mae'r rhestr derfynol o lefelau blaenoriaeth i'w gweld ar ddiwedd y ddogfen.
Etifeddiaeth gyda grwpiau [ffynhonnell]
Mae newidynnau o grwpiau yn cael eu hetifeddu, gyda'r rheol mai'r agosaf y lleolir y grŵp at y prosiect, y pwysicaf yw ei werth.
Grwpiau gyda newidynnau
.gitlab-ci.yml
image: busybox:latest
variables:
GIT_STRATEGY: none
echo:
stage: test
script:
- echo $MSG
Canlyniad piblinell
$ echo $MSG
B
Pe na bai’r newidyn wedi’i nodi yng ngrŵp B, yna byddem wedi gweld y gwerth A.
Etifeddu newidynnau y tu mewn i .gitlab-ci.yml [ffynhonnell]
Mae popeth yn eithaf syml yma: gallwch chi osod newidyn yn fyd-eang, neu gallwch ei drosysgrifo y tu mewn i'r swydd.
Grwpiau gyda newidynnau
.gitlab-ci.yml
Gadewch i ni nawr greu 2 swydd, yn un ohonyn nhw byddwn yn nodi $MSG yn benodol.
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
Canlyniad piblinell
- adlais:
$ echo $MSG Custom in global .gitlab-ci.yml Job succeeded
- adlais gyda vars:
$ echo $MSG Custom in job .gitlab-ci.yml Job succeeded
Etifeddiaeth gyda grwpiau a thu mewn .gitlab-ci.yml [ffynhonnell]
Gadewch i ni geisio cyfuno'r 2 enghraifft flaenorol. Mae newidynnau grŵp yn cael blaenoriaeth dros newidynnau y tu mewn i .gitlab-ci.yml.
Grwpiau gyda newidynnau
.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
Canlyniad piblinell
- adlais:
$ echo $MSG Y Job succeeded
- adlais gyda vars:
$ echo $MSG Y Job succeeded
Etifeddiaeth gyda nodi newidynnau mewn gosodiadau prosiect [ffynhonnell]
Newidynnau mewn gosodiadau prosiect BOB AMSER sydd â'r flaenoriaeth uchaf! Ac nid yw'r newidynnau a nodir y tu mewn i .gitlab-ci.yml yn chwarae unrhyw rôl.
Grwpiau gyda newidynnau
Mae gan newidynnau grŵp flaenoriaeth is.
.gitlab-ci.yml
Gadewch i ni ddefnyddio'r ffeil o'r enghraifft flaenorol. Yma eto mae newidynnau wedi'u nodi y tu mewn i .gitlab-ci.yml, ond mae newidynnau o fewn grwpiau yn dal i gael blaenoriaeth drostynt.
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
Canlyniad piblinell
- adlais:
$ echo $MSG project-3 Job succeeded
- adlais gyda vars:
$ echo $MSG project-3 Job succeeded
Etifeddiaeth gyda gwerth gwag [ffynhonnell]
Mae gwerth gwag hefyd yn werth
Nid Nwl yw gwerth gwag
Grwpiau gyda newidynnau
.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
Canlyniad piblinell
- adlais:
$ echo $MSG Job succeeded
- adlais gyda vars:
$ echo $MSG Job succeeded
Etifeddiaeth gyda chynnwys a grwpiau [ffynhonnell]
Yma byddwn yn ceisio cynnwys prosiect-2 ym mhrosiect-3
Rhoddir blaenoriaeth i grwpiau yn yr achos hwn.
Grwpiau gyda newidynnau
.gitlab-ci.yml
A gosod y newidyn yn fyd-eang yn .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'
Canlyniad piblinell
- adlais:
$ echo $MSG B Job succeeded
- adlais gyda vars:
$ echo $MSG B Job succeeded
Etifeddiaeth gyda chynnwys [ffynhonnell]
Yma byddwn yn ceisio cynnwys prosiect-2 ym mhrosiect-3.
Gyda'r amod: nad oes gan y grwpiau na'r prosiect ei hun unrhyw newidynnau.
Grwpiau gyda newidynnau
.gitlab-ci.yml
Yr un fath ag yn yr enghraifft flaenorol
variables:
MSG: "With include .gitlab-ci.yml"
include:
- project: how-is-gitlab-ci-inherit-environment-variables/z/y/project-3
file: '.gitlab-ci.yml'
Canlyniad piblinell
- adlais:
$ echo $MSG With include .gitlab-ci.yml Job succeeded
- adlais gyda vars:
$ echo $MSG Custom in job .gitlab-ci.yml Job succeeded
Mae'r canlyniadau fel a ganlyn blaenoriaethau:
- Newidynnau mewn gosodiadau prosiect
- Newidynnau mewn grwpiau
- Newidynnau a nodir yn llym y tu mewn i swyddi (gan gynnwys ffeiliau wedi'u cynnwys)
- Newidynnau byd-eang y tu mewn i .gitlab-ci.yml
- Roedd newidynnau byd-eang y tu mewn i'r ffeiliau wedi'u cynnwys
Casgliad
Y pwynt mwyaf nad yw'n amlwg yw bod y rheol “po agosaf y mae newidyn i'r cod, y pwysicaf ydyw” yn gweithio'n gyntaf ar gyfer grwpiau, ac yna'r un rheol ar gyfer newidynnau y tu mewn i .gitlab-ci.yml, ond dim ond o dan yr amod nad yw'r newidynnau yn y grwpiau wedi'u nodi .
Nesaf, pwynt pwysig yw deall bod y gofod byd-eang ar gyfer y prif a chynnwys .gitlab-ci.yml yn gyffredin. Ac mae gan y ffeil y mae'r cynhwysiant ynddi flaenoriaeth.
Ffynhonnell: hab.com