홈>
프로젝트 변수에 따라 필요한 gitlab-ci 파일이 포함 된 동적 gitlab-ci 파일을 설정하려고합니다.
안타깝게도 제대로 작동하지 않는 것 같습니다. 설명서를 읽고 포럼을 검색했지만 안타깝게도 해결책을 찾을 수 없습니다.
동적 gitlab-ci 파일을 어떻게 얻습니까?
실제로 아래 스 니펫과 같은 작업을 원했지만 파일 메서드에서 변수를 사용할 수 없다는 것을 알았습니다 ( "잘못된 구성 : 파일이 없습니다"를 반환 함).
include:
- project: 'tools/gitlab-ci'
file: '/gitlab-ci-$GITLABFILE.yml'
only:
- $GITLABFILE
include:
- project: 'tools/gitlab-ci'
file: '/gitlab-ci.yml'
only:
- $GITLABFILE == null
파일 방법에서 변수를 사용할 수 없으므로 아래 구성을 시도했지만 불행히도 항상 마지막 파일을로드하고 유일한 키워드를 무시합니다.
include:
- project: 'tools/gitlab-ci'
file: '/gitlab-ci.yml'
except:
variables:
- $GITLABFILE
- project: 'tools/gitlab-ci'
file: '/gitlab-ci-legacy.yml'
only:
variables:
- $GITLABFILE == 'legacy'
- project: 'tools/gitlab-ci'
file: '/gitlab-ci-legacy-nobuild.yml'
only:
variables:
- $GITLABFILE == 'legacy-nobuild'
변수에 따라 다른 gitlab-ci 파일을 검색 할 수있는 단일 gitlab-ci 파일이 필요합니다.
다른 사람이 나를 도와 주거나 올바른 방향으로 나를 가리킬 수 있기를 바랍니다.
- 답변 # 1
관련 질문
- '일정' 및 '변경' 선언이 포함된 GitLab-CI 파이프라인 생성에 어려움
- Gitlab의 모든 프로젝트에 대한 종속성 저장소를 어떻게 사용합니까?
- Gitlab CI/CD가 내 배포 단계를 실행하지 않습니다.
- gitlab 병합 요청 승인 상태를 확인하고 CI에서 다음 단계를 트리거하는 방법이 있습니까?
- Gitlab은 Yaml 앵커로 규칙을 만듭니다
- 변수로 동적 GitLab 작업 태그를 설정하는 방법은 무엇입니까?
- bash : gitlab ci 다른 변수 내에서 변수를 설정합니다
- GitLab 단계에서 일자리를 제외 할 수있는 방법이 있습니까?
- Docker Push -all 태그가 파이프 라인에서 작동하지 않습니다.
- GitLab CI 다른 주자를 사용하여 다른 환경에 배포하는 방법은 무엇입니까?
이 개별 gitlab-ci 파일에 조건부 논리를 넣지 않고 모두 포함시키는 이유는 무엇입니까?
주요 파일에서 이와 같은 것 :
그런 다음 각 하위 파일에서-예를 들어 와이즈 비즈 :더보기 : https://docs.gitlab.com/ee/ci/yaml/#onlyvariablesexceptvariables
job: script: - echo Do something only: variables: - $GITLABFILE == "legacy"