Gitlab-CI เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจ•เจฟเจตเฉ‡เจ‚ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจฆเจพ เจนเฉˆ?

Gitlab เจตเจฟเฉฑเจš เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจ•เจˆ เจฅเจพเจตเจพเจ‚ 'เจคเฉ‡ เจธเฉˆเฉฑเจŸ เจ•เฉ€เจคเฉ‡ เจœเจพ เจธเจ•เจฆเฉ‡ เจนเจจ:

  1. เจธเจฎเฉ‚เจน เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ เจตเจฟเฉฑเจš
  2. เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ เจตเจฟเฉฑเจš
  3. เจ…เฉฐเจฆเจฐ .gitlab-ci.yml

เจ‡เจธ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš, เจธเจฎเฉ‚เจน เจ…เจคเฉ‡ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ เจตเจฟเฉฑเจš เจตเฉ‡เจฐเฉ€เจเจฌเจฒเจพเจ‚ เจจเฉ‚เฉฐ "เจซเจพเจ‡เจฒ" เจœเจพเจ‚ "เจฐเฉˆเจ—เฉ‚เจฒเจฐ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ" เจตเจœเฉ‹เจ‚ เจธเฉˆเฉฑเจŸ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ "เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค" เจ…เจคเฉ‡ "เจฎเจพเจธเจ•" เจšเฉˆเจ•เจฌเจพเจ•เจธ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเฉ‹เฅค

Gitlab-CI เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจ•เจฟเจตเฉ‡เจ‚ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจฆเจพ เจนเฉˆ?

เจ†เจ‰ เจธเจงเจพเจฐเจจ เจตเจฟเจฐเจพเจธเจค เจจเจพเจฒ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเฉ€เจ เจ…เจคเฉ‡ เจ‡เจน เจนเฉŒเจฒเฉ€ เจนเฉŒเจฒเฉ€ เจนเฉ‹เจฐ เจ—เฉเฉฐเจเจฒเจฆเจพเจฐ เจฌเจฃ เจœเจพเจตเฉ‡เจ—เจพ.

เจคเจฐเจœเฉ€เจนเฉ€ เจชเฉฑเจงเจฐเจพเจ‚ เจฆเฉ€ เจ…เฉฐเจคเจฎ เจธเฉ‚เจšเฉ€ เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจฆเฉ‡ เจ…เฉฐเจค เจตเจฟเฉฑเจš เจฒเฉฑเจญเฉ€ เจœเจพ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค

เจธเจฎเฉ‚เจนเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจตเจฟเจฐเจพเจธเจค [เจธเจฐเฉ‹เจค]

เจธเจฎเฉ‚เจนเจพเจ‚ เจคเฉ‹เจ‚ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจตเจฟเจฐเจพเจธเจค เจตเจฟเฉฑเจš เจฎเจฟเจฒเจฆเฉ‡ เจนเจจ, เจ‡เจธ เจจเจฟเจฏเจฎ เจฆเฉ‡ เจจเจพเจฒ เจ•เจฟ เจธเจฎเฉ‚เจน เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฆเฉ‡ เจœเจฟเฉฐเจจเจพ เจจเฉ‡เฉœเฉ‡ เจธเจฅเจฟเจค เจนเฉˆ, เจ‡เจธเจฆเจพ เจฎเฉเฉฑเจฒ เจ“เจจเจพ เจนเฉ€ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจนเฉˆเฅค

เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจตเจพเจฒเฉ‡ เจธเจฎเฉ‚เจน

Gitlab-CI เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจ•เจฟเจตเฉ‡เจ‚ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจฆเจพ เจนเฉˆ?

.gitlab-ci.yml

image: busybox:latest
variables:
  GIT_STRATEGY: none

echo:
  stage: test
  script:
    - echo $MSG

เจชเจพเจˆเจชเจฒเจพเจˆเจจ เจฆเจพ เจจเจคเฉ€เจœเจพ

$ echo $MSG
B

เจœเฉ‡เจ•เจฐ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจจเฉ‚เฉฐ เจ—เจฐเฉเฉฑเจช B เจตเจฟเฉฑเจš เจจเจฟเจฐเจฆเจฟเจธเจผเจŸ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉเฉฐเจฆเจพ, เจคเจพเจ‚ เจ…เจธเฉ€เจ‚ เจฎเฉเฉฑเจฒ A เจจเฉ‚เฉฐ เจฆเฉ‡เจ–เจฟเจ† เจนเฉเฉฐเจฆเจพเฅค

.gitlab-ci.yml เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจจเฉ‚เฉฐ เจตเจฟเจฐเจพเจธเจค เจตเจฟเฉฑเจš เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจเจพ [เจธเจฐเฉ‹เจค]

เจ‡เฉฑเจฅเฉ‡ เจธเจญ เจ•เฉเจ เจ•เจพเจซเจผเฉ€ เจธเจงเจพเจฐเจจ เจนเฉˆ: เจคเฉเจธเฉ€เจ‚ เจ—เจฒเฉ‹เจฌเจฒ เจคเฉŒเจฐ 'เจคเฉ‡ เจ‡เฉฑเจ• เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจธเฉˆเฉฑเจŸ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจœเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจจเฉŒเจ•เจฐเฉ€ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจ“เจตเจฐเจฐเจพเจˆเจŸ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค

เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจตเจพเจฒเฉ‡ เจธเจฎเฉ‚เจน

Gitlab-CI เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจ•เจฟเจตเฉ‡เจ‚ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจฆเจพ เจนเฉˆ?

.gitlab-ci.yml

เจšเจฒเฉ‹ เจนเฉเจฃ 2 เจจเฉŒเจ•เจฐเฉ€เจ†เจ‚ เจชเฉˆเจฆเจพ เจ•เจฐเฉ€เจ, เจ‰เจนเจจเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจตเจฟเฉฑเจš เจ…เจธเฉ€เจ‚ เจธเจชเจธเจผเจŸ เจคเฉŒเจฐ 'เจคเฉ‡ $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

เจชเจพเจˆเจชเจฒเจพเจˆเจจ เจฆเจพ เจจเจคเฉ€เจœเจพ

  • เจฌเจพเจนเจฐ เจธเฉเฉฑเจŸ เจฆเจฟเฉฑเจคเจพ:
    $ echo $MSG
    Custom in global .gitlab-ci.yml
    Job succeeded
  • vars เจจเจพเจฒ echo:
    $ echo $MSG
    Custom in job .gitlab-ci.yml
    Job succeeded

เจ—เจฐเฉเฉฑเจชเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจตเจฟเจฐเจพเจธเจค เจ…เจคเฉ‡ เจ…เฉฐเจฆเจฐ .gitlab-ci.yml [เจธเจฐเฉ‹เจค]

เจ†เจ‰ เจชเจฟเจ›เจฒเฉ€เจ†เจ‚ 2 เจ‰เจฆเจพเจนเจฐเจฃเจพเจ‚ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเฉ€เจเฅค เจ—เจฐเฉเฉฑเจช เจตเฉ‡เจฐเฉ€เจเจฌเจฒ .gitlab-ci.yml เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจตเฉ‡เจฐเฉ€เจเจฌเจฒเจพเจ‚ เจจเจพเจฒเฉ‹เจ‚ เจคเจฐเจœเฉ€เจน เจฒเฉˆเจ‚เจฆเฉ‡ เจนเจจเฅค

เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจตเจพเจฒเฉ‡ เจธเจฎเฉ‚เจน

Gitlab-CI เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจ•เจฟเจตเฉ‡เจ‚ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจฆเจพ เจนเฉˆ?

.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

เจชเจพเจˆเจชเจฒเจพเจˆเจจ เจฆเจพ เจจเจคเฉ€เจœเจพ

  • เจฌเจพเจนเจฐ เจธเฉเฉฑเจŸ เจฆเจฟเฉฑเจคเจพ:
    $ echo $MSG
    Y
    Job succeeded
  • vars เจจเจพเจฒ echo:
    $ echo $MSG
    Y
    Job succeeded

เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ เจตเจฟเฉฑเจš เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจ เจฆเฉ‡ เจจเจพเจฒ เจตเจฟเจฐเจพเจธเจค [เจธเจฐเฉ‹เจค]

เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ เจตเจฟเฉฑเจš เจตเฉ‡เจฐเฉ€เจเจฌเจฒเจพเจ‚ เจฆเฉ€ เจนเจฎเฉ‡เจธเจผเจพเจ‚ เจธเจญ เจคเฉ‹เจ‚ เจตเฉฑเจง เจคเจฐเจœเฉ€เจน เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ! เจ…เจคเฉ‡ .gitlab-ci.yml เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจจเจฟเจฐเจฆเจฟเจธเจผเจŸ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจ•เฉ‹เจˆ เจญเฉ‚เจฎเจฟเจ•เจพ เจจเจนเฉ€เจ‚ เจจเจฟเจญเจพเจ‰เจ‚เจฆเฉ‡ เจนเจจเฅค

เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจตเจพเจฒเฉ‡ เจธเจฎเฉ‚เจน

เจ—เจฐเฉเฉฑเจช เจตเฉ‡เจฐเฉ€เจเจฌเจฒเจพเจ‚ เจฆเฉ€ เจคเจฐเจœเฉ€เจน เจ˜เฉฑเจŸ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค
Gitlab-CI เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจ•เจฟเจตเฉ‡เจ‚ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจฆเจพ เจนเฉˆ?

.gitlab-ci.yml

เจšเจฒเฉ‹ เจชเจฟเจ›เจฒเฉ€ เจ‰เจฆเจพเจนเจฐเจฃ เจคเฉ‹เจ‚ เจซเจพเจˆเจฒ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ€เจ. เจ‡เฉฑเจฅเฉ‡ เจฆเฉเจฌเจพเจฐเจพ .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

เจชเจพเจˆเจชเจฒเจพเจˆเจจ เจฆเจพ เจจเจคเฉ€เจœเจพ

  • เจฌเจพเจนเจฐ เจธเฉเฉฑเจŸ เจฆเจฟเฉฑเจคเจพ:
    $ echo $MSG
    project-3
    Job succeeded
  • vars เจจเจพเจฒ echo:
    $ echo $MSG
    project-3
    Job succeeded

เจ–เจพเจฒเฉ€ เจฎเฉเฉฑเจฒ เจฆเฉ‡ เจจเจพเจฒ เจตเจฟเจฐเจพเจธเจค [เจธเจฐเฉ‹เจค]

เจ‡เฉฑเจ• เจ–เจพเจฒเฉ€ เจฎเฉเฉฑเจฒ เจตเฉ€ เจ‡เฉฑเจ• เจฎเฉเฉฑเจฒ เจนเฉˆ
เจ‡เฉฑเจ• เจ–เจพเจฒเฉ€ เจฎเฉเฉฑเจฒ เจ–เจพเจฒเฉ€ เจจเจนเฉ€เจ‚ เจนเฉˆ

เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจตเจพเจฒเฉ‡ เจธเจฎเฉ‚เจน

Gitlab-CI เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจ•เจฟเจตเฉ‡เจ‚ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจฆเจพ เจนเฉˆ?

.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

เจชเจพเจˆเจชเจฒเจพเจˆเจจ เจฆเจพ เจจเจคเฉ€เจœเจพ

  • เจฌเจพเจนเจฐ เจธเฉเฉฑเจŸ เจฆเจฟเฉฑเจคเจพ:
    $ echo $MSG
    Job succeeded
  • vars เจจเจพเจฒ echo:
    $ echo $MSG
    Job succeeded

เจธเจผเจพเจฎเจฒ เจ…เจคเฉ‡ เจธเจฎเฉ‚เจนเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจตเจฟเจฐเจพเจธเจค [เจธเจฐเฉ‹เจค]

เจ‡เฉฑเจฅเฉ‡ เจ…เจธเฉ€เจ‚ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ-2 เจตเจฟเฉฑเจš เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ-3 เจจเฉ‚เฉฐ เจธเจผเจพเจฎเจฒ เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจพเจ‚เจ—เฉ‡
เจ‡เจธ เจฎเจพเจฎเจฒเฉ‡ เจตเจฟเฉฑเจš เจธเจฎเฉ‚เจนเจพเจ‚ เจฆเฉ€ เจคเจฐเจœเฉ€เจน เจนเฉˆเฅค

เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจตเจพเจฒเฉ‡ เจธเจฎเฉ‚เจน

Gitlab-CI เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจ•เจฟเจตเฉ‡เจ‚ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจฆเจพ เจนเฉˆ?

.gitlab-ci.yml

เจ…เจคเฉ‡ .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'

เจชเจพเจˆเจชเจฒเจพเจˆเจจ เจฆเจพ เจจเจคเฉ€เจœเจพ

  • เจฌเจพเจนเจฐ เจธเฉเฉฑเจŸ เจฆเจฟเฉฑเจคเจพ:
    $ echo $MSG
    B
    Job succeeded
  • vars เจจเจพเจฒ echo:
    $ echo $MSG
    B
    Job succeeded

เจธเจผเจพเจฎเจฒ เจฆเฉ‡ เจจเจพเจฒ เจตเจฟเจฐเจพเจธเจค [เจธเจฐเฉ‹เจค]

เจ‡เฉฑเจฅเฉ‡ เจ…เจธเฉ€เจ‚ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ-2 เจตเจฟเฉฑเจš เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ-3 เจจเฉ‚เฉฐ เจธเจผเจพเจฎเจฒ เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจพเจ‚เจ—เฉ‡เฅค
เจ‡เจธ เจธเจผเจฐเจค เจฆเฉ‡ เจจเจพเจฒ เจ•เจฟ: เจจเจพ เจคเจพเจ‚ เจธเจฎเฉ‚เจนเจพเจ‚ เจ…เจคเฉ‡ เจจเจพ เจนเฉ€ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฆเจพ เจ•เฉ‹เจˆ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจนเฉˆเฅค

เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจตเจพเจฒเฉ‡ เจธเจฎเฉ‚เจน

Gitlab-CI เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจ•เจฟเจตเฉ‡เจ‚ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจฆเจพ เจนเฉˆ?

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

เจชเจพเจˆเจชเจฒเจพเจˆเจจ เจฆเจพ เจจเจคเฉ€เจœเจพ

  • เจฌเจพเจนเจฐ เจธเฉเฉฑเจŸ เจฆเจฟเฉฑเจคเจพ:
    $ echo $MSG
    With include .gitlab-ci.yml
    Job succeeded
  • vars เจจเจพเจฒ echo:
    $ echo $MSG
    Custom in job .gitlab-ci.yml
    Job succeeded

เจจเจคเฉ€เจœเฉ‡ เจ‡เจธ เจชเฉเจฐเจ•เจพเจฐ เจนเจจ เจคเจฐเจœเฉ€เจนเจพเจ‚:

  1. เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ เจตเจฟเฉฑเจš เจตเฉ‡เจฐเฉ€เจเจฌเจฒ
  2. เจธเจฎเฉ‚เจนเจพเจ‚ เจตเจฟเฉฑเจš เจตเฉ‡เจฐเฉ€เจเจฌเจฒ
  3. เจจเฉŒเจ•เจฐเฉ€เจ†เจ‚ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจธเจ–เจคเฉ€ เจจเจพเจฒ เจจเจฟเจฐเจงเจพเจฐเจค เจตเฉ‡เจฐเฉ€เจเจฌเจฒ (เจธเจผเจพเจฎเจฒ เจซเจพเจˆเจฒเจพเจ‚ เจธเจฎเฉ‡เจค)
  4. .gitlab-ci.yml เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจ—เจฒเฉ‹เจฌเจฒ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ
  5. เจธเจผเจพเจฎเจฒ เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจ—เจฒเฉ‹เจฌเจฒ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ

เจธเจฟเฉฑเจŸเจพ

เจธเจญ เจคเฉ‹เจ‚ เจธเจชเฉฑเจธเจผเจŸ เจจเฉเจ•เจคเจพ เจ‡เจน เจนเฉˆ เจ•เจฟ เจจเจฟเจฏเจฎ "เจ•เฉ‹เจก เจฆเฉ‡ เจœเจฟเฉฐเจจเจพ เจจเฉ‡เฉœเฉ‡ เจ‡เฉฑเจ• เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจนเฉˆ, เจ‡เจน เจ“เจจเจพ เจนเฉ€ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจนเฉˆ" เจชเจนเจฟเจฒเจพเจ‚ เจธเจฎเฉ‚เจนเจพเจ‚ เจฒเจˆ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจซเจฟเจฐ .gitlab-ci.yml เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจตเฉ‡เจฐเฉ€เจเจฌเจฒเจพเจ‚ เจฒเจˆ เจ‰เจนเฉ€ เจจเจฟเจฏเจฎ, เจชเจฐ เจธเจฟเจฐเจซ เจธเจฅเจฟเจคเฉ€ เจฆเฉ‡ เจ…เจงเฉ€เจจเฅค เจ•เจฟ เจธเจฎเฉ‚เจนเจพเจ‚ เจตเจฟเฉฑเจš เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจจเจฟเจฐเจงเจพเจฐเจค เจจเจนเฉ€เจ‚ เจนเจจเฅค
เจ…เฉฑเจ—เฉ‡, เจ‡เฉฑเจ• เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจฃ เจจเฉเจ•เจคเจพ เจ‡เจน เจธเจฎเจเจฃเจพ เจนเฉˆ เจ•เจฟ เจฎเฉเฉฑเจ– เจ…เจคเฉ‡ เจธเจผเจพเจฎเจฒ .gitlab-ci.yml เจฒเจˆ เจ—เจฒเฉ‹เจฌเจฒ เจธเจชเฉ‡เจธ เจ†เจฎ เจนเฉˆเฅค เจ…เจคเฉ‡ เจ‰เจน เจซเจพเจˆเจฒ เจœเจฟเจธ เจตเจฟเฉฑเจš เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจจเฉ‚เฉฐ เจคเจฐเจœเฉ€เจน เจฆเจฟเฉฑเจคเฉ€ เจ—เจˆ เจนเฉˆเฅค

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹