파이프라인 편집기
파이프라인 편집기는 리포지토리의 루트에 있는 .gitlab-ci.yml
파일에서 GitLab CI/CD 구성을 편집하는 주요 장소입니다. 편집기에 액세스하려면 Build > Pipeline editor로 이동하세요.
파이프라인 편집기 페이지에서는 다음을 수행할 수 있습니다:
- 작업할 브랜치를 선택합니다.
- 파일을 편집하는 동안 구문을 검증합니다.
-
include
키워드로 추가된 구성과 함께 검증하는 더 깊은 lint를 수행합니다. -
include
키워드로 추가된 CI/CD 구성 목록을 보기합니다. - 현재 구성의 시각화를 확인합니다.
-
include
로 추가된 구성과 함께 구성을 표시하는 전체 구성을 봅니다. - 특정 브랜치에 변경 사항을 커밋합니다.
CI 구성 검증
파이프라인 구성을 편집하는 동안 GitLab CI/CD 파이프라인 스키마에 대해 지속적으로 검증됩니다.
CI YAML 구성의 구문을 검사하며 일부 기본 논리 검증을 실행합니다.
이 검증 결과는 편집기 페이지 상단에 표시됩니다. 구성에 오류가 있는 경우 문제 해결을 위한 팁이 표시됩니다:
CI 구성 린트
변경 사항을 커밋하기 전에 GitLab CI/CD 구성의 유효성을 테스트하려면 CI 린트 도구를 사용할 수 있습니다:
- 왼쪽 사이드바에서 Search or go to를 선택하고 프로젝트를 찾으십시오.
- Build > Pipeline editor를 선택합니다.
- Lint 탭을 선택합니다.
이 도구는 구문 및 논리 오류를 검사하지만 편집기에서 자동으로 진행되는 검증보다 더 자세하게 검사합니다.
결과는 실시간으로 업데이트됩니다. 구성을 변경하면 CI 린트에 반영됩니다. 기존 CI Lint 도구와 동일한 결과를 표시합니다.
CI/CD 파이프라인 시뮬레이션
- GitLab 15.3에서 도입됨.
파이프라인 구문 및 논리 문제를 찾기 위해 Validate 탭에서 GitLab CI/CD 파이프라인 생성 시뮬레이션을 할 수 있습니다. 파이프라인 시뮬레이션은 잘못된 rules
및 needs
작업 종속성과 같은 문제를 찾는 데 도움을 줄 수 있으며 CI Lint 도구에서의 시뮬레이션과 유사합니다.
포함된 CI/CD 구성 보기
- GitLab 15.0에서 도입됨
pipeline_editor_file_tree
라는 플래그와 함께. 기본적으로 비활성화되어 있습니다.- GitLab 15.1에서 기능 플래그가 제거됨.
파이프라인 편집기에서 include
키워드로 추가된 구성을 검토할 수 있습니다. 오른쪽 상단에서 파일 트리 ()를 선택하여 모든 포함된 구성 파일 목록을 확인합니다. 선택한 파일은 검토를 위해 새 탭에서 열립니다.
CI 구성 시각화
.gitlab-ci.yml
구성을 시각화하려면, 프로젝트에서 빌드 > 파이프라인 편집기로 이동한 다음 시각화 탭을 선택하세요.
시각화는 모든 단계와 작업을 보여줍니다. needs
관계는 작업을 연결하는 선으로 표시되어 실행 계층 구조를 보여줍니다:
작업 위에 마우스를 올리면 needs
관계가 강조 표시됩니다:
구성에 needs
관계가 없는 경우, 각 작업이 이전 단계의 성공적인 완료에만 의존하므로 선이 그려지지 않습니다.
전체 구성 보기
- 병합된 YAML 탭이 GitLab 16.0에서 전체 구성으로 이름이 변경되었습니다.
완전히 확장된 CI/CD 구성을 하나의 결합된 파일로 보려면, 파이프라인 편집기의 전체 구성 탭으로 이동하세요. 이 탭은 다음을 포함하는 확장된 구성을 표시합니다:
-
include
로 가져온 구성은 보기로 복사됩니다. -
extends
를 사용하는 작업은 확장된 구성이 작업에 병합되어 표시됩니다. - YAML 앵커는 연결된 구성으로 대체됩니다.
-
YAML
!reference
태그도 연결된 구성으로 대체됩니다.
!reference
태그를 사용하면 중첩된 구성이 생성되어 확장된 보기에서 줄 시작 부분에 여러 개의 하이픈(-
)이 표시될 수 있습니다. 이 동작은 예상되는 것이며, 추가 하이픈은 작업의 실행에 영향을 미치지 않습니다. 예를 들어, 이 구성과 완전히 확장된 버전 모두 유효합니다:
-
.gitlab-ci.yml
파일:.python-req: script: - pip install pyflakes .rule-01: rules: - if: $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME =~ /^feature/ when: manual allow_failure: true - if: $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME .rule-02: rules: - if: $CI_COMMIT_BRANCH == "main" when: manual allow_failure: true lint-python: image: python:latest script: - !reference [.python-req, script] - pyflakes python/ rules: - !reference [.rule-01, rules] - !reference [.rule-02, rules]
-
전체 구성 탭에서의 확장된 구성:
".python-req": script: - pip install pyflakes ".rule-01": rules: - if: "$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME =~ /^feature/" when: manual allow_failure: true - if: "$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME" ".rule-02": rules: - if: $CI_COMMIT_BRANCH == "main" when: manual allow_failure: true lint-python: image: python:latest script: - - pip install pyflakes # <- The extra hyphens do not affect the job's execution. - pyflakes python/ rules: - - if: "$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME =~ /^feature/" # <- The extra hyphens do not affect the job's execution. when: manual allow_failure: true - if: "$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME" # <- No extra hyphen but aligned with previous rule - - if: $CI_COMMIT_BRANCH == "main" # <- The extra hyphens do not affect the job's execution. when: manual allow_failure: true
CI 구성에 변경 사항 커밋하기
커밋 양식은 에디터의 각 탭 하단에 나타나므로 언제든지 변경 사항을 커밋할 수 있습니다.
변경 사항에 만족하면, 설명적인 커밋 메시지를 추가하고 브랜치를 입력하세요. 브랜치 필드는 기본적으로 프로젝트의 기본 브랜치로 설정됩니다.
새 브랜치 이름을 입력하면, 이 변경 사항으로 새 병합 요청 시작 체크박스가 나타납니다. 변경 사항을 커밋한 후 새 병합 요청을 시작하려면 선택하세요.
문제 해결
구성 유효성 검증을 현재 사용할 수 없음
메시지
이 메시지는 파이프라인 에디터에서 구문을 검증하는 문제로 인해 발생합니다. 다음과 같은 경우에 발생할 수 있습니다:
-
GitLab이 구문을 검증하는 서비스와 통신할 수 없으므로, 이러한 섹션의 정보가 제대로 표시되지 않을 수 있습니다:
- Edit 탭의 구문 상태(유효 또는 무효).
- Visualize 탭.
- Lint 탭.
- Full configuration 탭.
CI/CD 구성을 계속 작업하고 수정한 변경 사항을 문제 없이 커밋할 수 있습니다. 서비스가 다시 사용할 수 있게 되면, 구문 검증이 즉시 표시될 것입니다.
-
include
를 사용하지만 포함된 구성 파일이 루프를 생성하는 경우. 예를 들어,.gitlab-ci.yml
이file1.yml
을 포함하고,file1.yml
이file2.yml
을 포함하며,file2.yml
은 다시file1.yml
을 포함하여file1.yml
과file2.yml
간의 루프를 만듭니다.루프를 없애고 문제를 해결하려면
include
라인 중 하나를 제거하세요.