Gitlab CI의 공유 yml 파일에서 before_script를 어떻게 재사용합니까?

B. 스미스

yaml 앵커를 사용하여 이전 스크립트에서 코드 블록을 재사용 할 수 있다는 것을 알고 있습니다.

.something_before: &something_before
- echo 'something before'   


before_script:
  - *something_before
  - echo "Another script step"

그러나 이것은 .something_before가를 .yml통해 공유 파일 에서 선언되면 작동하지 않는 것 같습니다 include:file. 그것은 또한 보이지 않는다 extends위한 작품 before_script. 누구든지 before_script공유 .yml파일의 일부 단계를 재사용하는 방법을 알고 있습니까?

편집 : 내 사용 사례는 거의 동일한 before_script 단계가있는 2 개의 gitlab 프로젝트가 있다는 것입니다. 변경 사항이있을 때마다 두 프로젝트를 모두 변경할 필요가 없기 때문에 두 프로젝트에 include : file을 통해 포함하는 .yml 템플릿이있는 세 번째 별도 Gitlab 프로젝트가 있습니다. 모든 공통 코드를 해당 공유 템플릿에 넣고 두 개의 추가 단계가있는 git 프로젝트에 대해 before_script 두 줄을 사용하고 싶습니다.

Danielnelz

Yaml 앵커는 포함 된 파일에서 작동하지 않습니다. extends키워드 를 사용해야합니다 . 그러나 달성하려는 before_script것은 템플릿의 코드가 템플릿을 사용하는 작업에서 덮어 쓰이기 때문에 작동하지 않습니다 before_script.

특정 작업에서 before_script가 정말로 필요 script합니까 아니면 정상으로 똑같이 얻을 수 있습니까? 그렇다면 다음과 같이 할 수 있습니다.

템플릿 파일 :

.something_before:
  before_script:
    - echo 'something before'
    - echo 'something more before' 

프로젝트 파이프 라인 :

include:
  - project: 'my-group/my-project'
    file: '/something_before.yml'

stages:
  - something

something:
  stage: something
  extends: .something_before
  script:
    - echo 'additional stuff to do'

그리고 귀하의 before_script섹션은 something 작업에 병합되고 script부품 전에 실행 됩니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

.gitlab-ci.yml에서 변수를 올바르게 확장하려면 어떻게해야합니까?

분류에서Dev

Gitlab CI / Gitlab Runner-어떤 버전의 gitlab-ci.yml이 사용 되나요?

분류에서Dev

.gitlab-ci.yml을 저장소간에 공유 할 수 있습니까?

분류에서Dev

이미지를 빌드 한 후 .gitlab-ci.yml에서 도커 이미지를 실행하려면 어떻게해야합니까?

분류에서Dev

.gitlab-ci.yml의 여러 줄 명령 내에서 here-document를 사용할 수 있습니까?

분류에서Dev

GitLab의 README 파일에 이미지를 어떻게 추가합니까?

분류에서Dev

serverless.yml 파일에서 기본 http 응답 템플릿을 어떻게 사용자 정의합니까?

분류에서Dev

azure-pipelines.yml을 사용하여 Microsoft Azure CI 파이프 라인에서 에이전트를 선택하려면 어떻게해야합니까?

분류에서Dev

Gitlab CI / CD는 .gitlab-ci.yml에서 git push를 할 수 없습니다.

분류에서Dev

C ++ 객체 파일에 의존하는 CUDA 공유 라이브러리를 어떻게 컴파일합니까?

분류에서Dev

ListView의 레이아웃 파일에서 ID를 어떻게 사용합니까?

분류에서Dev

OneDrive API를 사용하여 OneDrive의 공유 폴더에 파일을 업로드하려면 어떻게해야합니까?

분류에서Dev

Ubuntu GNOME에서 화면 공유를 어떻게 사용합니까?

분류에서Dev

.gitlab-ci.yml에서 작업을 재사용하는 방법

분류에서Dev

Node.js의 레이어를 사용하여 AWS SAM 템플릿의 람다에서 공유 코드를 사용하려면 어떻게해야합니까?

분류에서Dev

메인 파일의 객체를 Ruby의 지원 파일로 어떻게 공유합니까?

분류에서Dev

무선 네트워크에서 두 개의 Ubuntu 랩톱간에 파일 공유를 설정하려면 어떻게합니까?

분류에서Dev

F #에서 식별 된 공용체에 대해 GetHashCode 및 CompareTo를 어떻게 재정의합니까?

분류에서Dev

F #에서 식별 된 공용체에 대해 GetHashCode 및 CompareTo를 어떻게 재정의합니까?

분류에서Dev

Apache에서 두 개의 다른 도메인과 하나의 파일 세트를 공유하려면 어떻게해야합니까?

분류에서Dev

CucumberJS의 여러 단계 정의 파일에서 내 World 인스턴스를 공유하려면 어떻게해야합니까?

분류에서Dev

공통 헤더를 사용하여 두 파일의 행을 병합하려면 어떻게해야합니까?

분류에서Dev

.gitlab-ci.yml에서`cache : key`의 요점은 무엇입니까?

분류에서Dev

DHCP에서 제공하는 MTU를 어떻게 재정의합니까?

분류에서Dev

Windows 7에서 '빈 재활용'파일의 삭제를 취소하려면 어떻게해야합니까?

분류에서Dev

Windows 7에서 '빈 재활용'파일의 삭제를 취소하려면 어떻게해야합니까?

분류에서Dev

Windows 7에서 '빈 재활용'파일의 삭제를 취소하려면 어떻게해야합니까?

분류에서Dev

명령 줄에서 Codeception YML 파일에 환경 변수를 전달하려면 어떻게해야합니까?

분류에서Dev

Flask를 사용하여 파일 이외의 콘텐츠를 어떻게 제공합니까?

Related 관련 기사

  1. 1

    .gitlab-ci.yml에서 변수를 올바르게 확장하려면 어떻게해야합니까?

  2. 2

    Gitlab CI / Gitlab Runner-어떤 버전의 gitlab-ci.yml이 사용 되나요?

  3. 3

    .gitlab-ci.yml을 저장소간에 공유 할 수 있습니까?

  4. 4

    이미지를 빌드 한 후 .gitlab-ci.yml에서 도커 이미지를 실행하려면 어떻게해야합니까?

  5. 5

    .gitlab-ci.yml의 여러 줄 명령 내에서 here-document를 사용할 수 있습니까?

  6. 6

    GitLab의 README 파일에 이미지를 어떻게 추가합니까?

  7. 7

    serverless.yml 파일에서 기본 http 응답 템플릿을 어떻게 사용자 정의합니까?

  8. 8

    azure-pipelines.yml을 사용하여 Microsoft Azure CI 파이프 라인에서 에이전트를 선택하려면 어떻게해야합니까?

  9. 9

    Gitlab CI / CD는 .gitlab-ci.yml에서 git push를 할 수 없습니다.

  10. 10

    C ++ 객체 파일에 의존하는 CUDA 공유 라이브러리를 어떻게 컴파일합니까?

  11. 11

    ListView의 레이아웃 파일에서 ID를 어떻게 사용합니까?

  12. 12

    OneDrive API를 사용하여 OneDrive의 공유 폴더에 파일을 업로드하려면 어떻게해야합니까?

  13. 13

    Ubuntu GNOME에서 화면 공유를 어떻게 사용합니까?

  14. 14

    .gitlab-ci.yml에서 작업을 재사용하는 방법

  15. 15

    Node.js의 레이어를 사용하여 AWS SAM 템플릿의 람다에서 공유 코드를 사용하려면 어떻게해야합니까?

  16. 16

    메인 파일의 객체를 Ruby의 지원 파일로 어떻게 공유합니까?

  17. 17

    무선 네트워크에서 두 개의 Ubuntu 랩톱간에 파일 공유를 설정하려면 어떻게합니까?

  18. 18

    F #에서 식별 된 공용체에 대해 GetHashCode 및 CompareTo를 어떻게 재정의합니까?

  19. 19

    F #에서 식별 된 공용체에 대해 GetHashCode 및 CompareTo를 어떻게 재정의합니까?

  20. 20

    Apache에서 두 개의 다른 도메인과 하나의 파일 세트를 공유하려면 어떻게해야합니까?

  21. 21

    CucumberJS의 여러 단계 정의 파일에서 내 World 인스턴스를 공유하려면 어떻게해야합니까?

  22. 22

    공통 헤더를 사용하여 두 파일의 행을 병합하려면 어떻게해야합니까?

  23. 23

    .gitlab-ci.yml에서`cache : key`의 요점은 무엇입니까?

  24. 24

    DHCP에서 제공하는 MTU를 어떻게 재정의합니까?

  25. 25

    Windows 7에서 '빈 재활용'파일의 삭제를 취소하려면 어떻게해야합니까?

  26. 26

    Windows 7에서 '빈 재활용'파일의 삭제를 취소하려면 어떻게해야합니까?

  27. 27

    Windows 7에서 '빈 재활용'파일의 삭제를 취소하려면 어떻게해야합니까?

  28. 28

    명령 줄에서 Codeception YML 파일에 환경 변수를 전달하려면 어떻게해야합니까?

  29. 29

    Flask를 사용하여 파일 이외의 콘텐츠를 어떻게 제공합니까?

뜨겁다태그

보관