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 두 줄을 사용하고 싶습니다.
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] 삭제
몇 마디 만하겠습니다