튜토리얼: 파이프라인 실행 정책 설정
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
이 튜토리얼은 inject_policy 전략으로 파이프라인 실행 정책을 생성하고 구성하는 방법을 보여줍니다. 이 튜토리얼에서는 파이프라인 실행 정책을 만들고, 테스트 프로젝트에 연결하고, 파이프라인이 실행되는지 확인할 수 있습니다.
이 튜토리얼은 inject_policy 전략으로 파이프라인 실행 정책을 생성하고 구성하는 방법을 보여줍니다. 이러한 정책을 사용하여 정책이 연결된 프로젝트에서 필수 파이프라인이 항상 실행되도록 할 수 있습니다.
이 튜토리얼에서는 파이프라인 실행 정책을 만들고, 테스트 프로젝트에 연결하고, 파이프라인이 실행되는지 확인할 수 있습니다.
파이프라인 실행 정책을 설정하려면:
시작하기 전에#
이 튜토리얼을 완료하려면 다음이 필요합니다:
- 기존 그룹에서 프로젝트를 만들 권한.
- 보안 정책을 만들고 연결할 권한.
테스트 프로젝트 생성#
먼저 파이프라인 실행 정책을 적용할 테스트 프로젝트를 만듭니다:
- 상단 표시줄에서 검색 또는 이동을 선택하고 그룹을 찾습니다.
- 새 프로젝트를 선택합니다.
- 빈 프로젝트 만들기를 선택합니다.
- 필드를 완성합니다.
- 프로젝트 이름:
my-pipeline-execution-policy. - 정적 애플리케이션 보안 테스트(SAST) 활성화 확인란을 선택합니다.
- 프로젝트 이름:
- 프로젝트 만들기를 선택합니다.
CI/CD 구성 파일 생성#
다음으로 파이프라인 실행 정책에서 적용할 CI/CD 구성 파일을 만듭니다:
-
왼쪽 사이드바에서 코드 > 저장소를 선택합니다.
-
추가(+) 드롭다운 목록에서 새 파일을 선택합니다.
-
파일 이름 필드에
pipeline-config.yml을 입력합니다. -
파일의 내용에 다음을 복사합니다:
--- # This file defines the CI/CD jobs that will be # enforced by the pipeline execution policy enforced-security-scan: stage: .pipeline-policy-pre script: - echo "Running enforced security scan from pipeline execution policy" - echo "This job cannot be skipped by developers" - echo "Checking for security vulnerabilities..." - echo "Security scan completed successfully" rules: - when: always enforced-test-job: stage: test script: - echo "Running enforced test job in test stage" - echo "Creating test stage if it doesn't exist" - echo "Performing mandatory testing requirements..." - echo "Enforced tests completed successfully" rules: - when: always enforced-compliance-check: stage: .pipeline-policy-post script: - echo "Running enforced compliance check" - echo "Verifying pipeline compliance requirements" - echo "Compliance check passed" rules: - when: always -
커밋 메시지 필드에
Add pipeline execution policy configuration을 입력합니다. -
변경 사항 커밋을 선택합니다.
파이프라인 실행 정책 추가#
다음으로 테스트 프로젝트에 파이프라인 실행 정책을 추가합니다:
-
보안 > 정책을 선택합니다.
-
새 정책을 선택합니다.
-
파이프라인 실행 정책에서 정책 선택을 선택합니다.
-
필드를 완성합니다.
- 이름:
Enforce Security and Compliance Jobs - 설명:
Enforces required security and compliance jobs across all pipelines - 정책 상태: 활성화됨
- 이름:
-
작업을 다음으로 설정합니다:

-
MR로 구성을 선택합니다.
-
MR의 변경 사항 탭에서 생성된 정책 YAML을 검토합니다. 정책은 다음과 유사하게 보여야 합니다:
--- pipeline_execution_policy: - name: Enforce Security and Compliance Jobs description: Enforces required security and compliance jobs across all pipelines enabled: true pipeline_config_strategy: inject_policy content: include: - project: [group]/my-pipeline-execution-policy file: pipeline-config.yml skip_ci: - allowed: false -
개요 탭으로 이동하고 병합을 선택합니다. 이 단계에서
My Pipeline Execution Policy - Security Policy Project라는 새 프로젝트가 생성됩니다. 보안 정책 프로젝트는 동일한 정책을 여러 프로젝트에 걸쳐 적용할 수 있도록 보안 정책을 저장하는 데 사용됩니다. -
상단 표시줄에서 검색 또는 이동을 선택하고
my-pipeline-execution-policy프로젝트를 찾습니다. -
보안 > 정책을 선택합니다.
이전 단계에서 추가한 정책 목록을 볼 수 있습니다.
파이프라인 실행 정책 테스트#
이제 MR을 생성하여 파이프라인 실행 정책을 테스트합니다:
-
왼쪽 사이드바에서 코드 > 저장소를 선택합니다.
-
추가(+) 드롭다운 목록에서 새 파일을 선택합니다.
-
파일 이름 필드에
test-file.txt를 입력합니다. -
파일의 내용에 다음을 추가합니다:
This is a test file to trigger the pipeline execution policy. -
커밋 메시지 필드에
Add test file to trigger pipeline을 입력합니다. -
대상 브랜치 필드에
test-policy-branch를 입력합니다. -
변경 사항 커밋을 선택합니다.
-
MR 페이지가 열리면 MR 만들기를 선택합니다.
파이프라인이 완료될 때까지 기다립니다. 몇 분이 걸릴 수 있습니다.
-
MR에서 파이프라인 탭을 선택하고 생성된 파이프라인을 선택합니다.
적용된 작업이 실행되는 것을 볼 수 있습니다:
.pipeline-policy-pre단계의enforced-security-scan(먼저 실행)test단계의enforced-test-job(정책에 의해 주입됨).pipeline-policy-post단계의enforced-compliance-check(마지막에 실행)
-
enforced-security-scan작업을 선택하여 로그를 보고 정책에 정의된 대로 보안 스캔이 실행되었는지 확인합니다.
파이프라인 실행 정책이 필수 작업을 성공적으로 적용하여 개발자가 프로젝트의 .gitlab-ci.yml 파일에 포함하는 내용에 관계없이 실행되도록 보장합니다.
이제 파이프라인 실행 정책을 설정하고 사용하여 조직의 프로젝트 전반에 걸쳐 필수 CI/CD 작업 사용을 적용하는 방법을 알았습니다!
다음 단계#
- 파이프라인 실행 정책 구성 전략에 대해 자세히 알아보십시오.
- 고급 파이프라인 실행 정책 예시를 살펴보십시오.
