파이프라인 에디터
파이프라인 에디터 (Pipeline editor)
파이프라인 에디터는 저장소 루트에 있는 .gitlab-ci.yml 파일에서 GitLab CI/CD 구성을 편집하는 기본 도구예요. 에디터에 접근하려면 Build > Pipeline editor로 이동하면 돼요.
파이프라인 에디터 페이지에서 다음을 할 수 있어요.
- 작업할 브랜치 선택.
- 파일을 편집하면서 구성 문법 검증.
[include](/ci/yaml/#include)키워드로 추가한 구성까지 함께 확인하는 더 깊은 구성 검증.- include 키워드로 추가된 CI/CD 구성 목록 보기.
- 현재 구성의 시각화 보기.
include에서 추가된 구성을 모두 포함해 표시하는 전체 구성 보기.- 특정 브랜치에 변경 사항 커밋.
출처: 문서
본문
CI/CD 문법 검증하기
파이프라인 에디터를 사용하는 동안 파이프라인 구성 문법이 GitLab CI/CD 파이프라인 스키마에 맞게 지속적으로 검증돼요. CI/CD YAML 문법과 함께 몇 가지 기본적인 논리 검증도 확인돼요.
이 검증 결과는 에디터 페이지 상단에 표시돼요. 검증에 실패하면 이 섹션에 문제를 해결하는 데 도움이 되는 팁이 표시돼요.
CI/CD 구성 검증하기
변경 사항을 커밋하기 전에 GitLab CI/CD 구성의 유효성을 테스트하려면 파이프라인 에디터의 검증 도구를 사용해요. 이 도구는 Git 푸시 이벤트로 인한 파이프라인 생성 과정을 시뮬레이션하며, 잘못된 rules와 needs 잡 의존성 같은 논리 문제를 해결하는 데 도움이 돼요.
- 상단 바에서 Search or go to를 선택하고 프로젝트를 찾아요.
- 왼쪽 사이드바에서 Build > Pipeline editor를 선택해요.
- Validate 탭을 선택해요.
- (선택) Pipeline run source 드롭다운 목록을 사용해 시뮬레이션된 푸시 이벤트에 사용할 다른 브랜치를 선택해요.
- Validate pipeline을 선택해요.
시뮬레이션된 파이프라인은 Edit 탭의 기존 파이프라인 구성을 사용해요.
Edit 탭에 추가하지 않고 CI/CD YAML 스니펫만 검증하려면 CI Lint 도구를 대신 사용해요.
포함된 CI/CD 구성 보기
[include](/ci/yaml/#include) 키워드로 추가한 구성을 파이프라인 에디터에서 검토할 수 있어요. 오른쪽 위 모서리에서 파일 트리를 선택하면 포함된 모든 구성 파일의 목록이 표시돼요. 선택한 파일은 검토를 위해 새 탭에서 열려요.
CI/CD 구성 시각화하기
.gitlab-ci.yml 구성의 시각화를 보려면 프로젝트에서 Build > Pipeline editor로 이동한 다음 Visualize 탭을 선택해요. 시각화는 모든 스테이지와 잡을 보여줘요. [needs](/ci/yaml/#needs) 관계는 잡들을 연결하는 선으로 표시되어 실행 계층 구조를 보여줘요.
잡 위에 마우스를 올리면 그 잡의 needs 관계가 강조돼요.
구성에 needs 관계가 없으면 선이 그려지지 않아요. 각 잡이 이전 스테이지의 성공적인 완료에만 의존하기 때문이에요.
파이프라인 실행 정책(pipeline execution policies)의 잡은 프로젝트 .gitlab-ci.yml 구성에 정의되어 있지 않으므로 이 시각화에 표시되지 않아요.
전체 구성 보기
완전히 확장된 CI/CD 구성을 하나의 결합된 파일로 보려면 파이프라인 에디터의 Full configuration 탭으로 이동해요. 이 탭은 다음을 포함하는 확장된 구성을 표시해요.
[include](/ci/yaml/#include)로 가져온 구성이 뷰에 복사됨.[extends](/ci/yaml/#extends)를 사용하는 잡은 확장된 구성이 잡에 병합된 상태로 표시됨.- YAML 앵커가 연결된 구성으로 대체됨.
[YAML !reference 태그](/ci/yaml/yaml_optimization/#reference-tags)도 연결된 구성으로 대체됨.- 조건부 규칙은 기본 브랜치 푸시 이벤트를 가정해 평가됨.
!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]
- Full configuration 탭의 확장된 구성:
".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 구성 변경 사항 커밋하기
커밋 양식은 에디터의 각 탭 하단에 나타나서 언제든지 변경 사항을 커밋할 수 있어요.
변경 사항이 만족스러우면 설명이 포함된 커밋 메시지를 추가하고 브랜치를 입력해요. 브랜치 필드는 기본적으로 프로젝트의 기본 브랜치로 설정돼요.
새 브랜치 이름을 입력하면 Start a new merge request with these changes 체크박스가 나타나요. 이를 선택하면 변경 사항을 커밋한 후 새 머지 리퀘스트를 시작해요.
에디터 접근성 옵션
파이프라인 에디터는 Monaco Editor를 기반으로 하며, 여기에는 다음을 포함한 여러 접근성 기능이 있어요.
| 기능 | Windows 또는 Linux 단축키 | macOS 단축키 | 세부 사항 |
|---|---|---|---|
| 키보드 탐색 명령 목록 | F1 | F1 | 마우스 없이 에디터를 더 쉽게 사용할 수 있게 하는 명령 목록. |
| 탭 트래핑 | Control+m | Control+Shift+m | 탭 문자를 삽입하는 대신 페이지의 다음 포커스 가능 요소로 이동하도록 탭 트래핑을 활성화. |
문제 해결
Unable to validate CI/CD configuration. 메시지
이 메시지는 파이프라인 에디터에서 문법 검증하는 데 문제가 있을 때 발생해요. GitLab이 문법을 검증하는 서비스와 통신할 수 없을 때 생길 수 있어요.
다음 섹션의 정보는 제대로 표시되지 않을 수 있어요.
- Edit 탭의 문법 상태 (유효 또는 무효).
- Visualize 탭.
- Lint 탭.
- Full configuration 탭.
CI/CD 구성 작업과 변경 사항 커밋은 문제 없이 계속할 수 있어요. 서비스를 다시 사용할 수 있게 되면 문법 검증이 바로 표시돼야 해요.
더 알아보기
파이프라인 에디터에서 검증과 관련된 기능을 더 깊게 보고 싶다면, 전체 구성에서 사용되는 include와 extends, YAML 앵커 최적화에 대한 YAML 최적화 문서를 함께 보면 구성 재사용 패턴을 파악하기 좋아요.