InfoGrab DocsInfoGrab Docs

GitLab CI/CD 구성 파일 최적화

YAML 앵커, `!reference` 태그, `extends` 키워드를 사용해 CI/CD 구성 파일의 복잡성을 줄이는 방법을 설명합니다.

다음을 사용하면 GitLab CI/CD 구성 파일의 복잡성과 중복된 구성을 줄일 수 있습니다. 앵커( & ) , 별칭( * ), 맵 병합( << )과 같은 YAML 고유 기능. 다양한 YAML 기능 에 대해 자세히 알아보세요. 더 유연하고 가독성이 높은 extends 키워드 . 가능하면 extends 를 사용해야 합니다. 변수 값만 다르고 유사한 job을 여러 개 생성하려면 parallel:matrix 를 사용합니다. 앵커 # YAML에는 문서 전체에서 콘텐츠를 복제하는 데 사용할 수 있는 '앵커'라는 기능이 있습니다. 앵커를 사용하면 속성을 복제하거나 상속할 수 있습니다. 숨겨진 job 과 함께 앵커를 사용하면 job에 대한 템플릿을 제공할 수 있습니다. & 문자는 앵커 이름을 표시하고, * 문자는 해당 앵커를 참조하는 별칭입니다. 앵커를 참조하는 별칭보다 YAML 파일에서 앵커를 먼저 정의해야 합니다. 중복된 키가 있는 경우 가장 나중에 포함된 키가 우선하여 다른 키를 덮어씁니다. 특정한 경우( 스크립트용 YAML 앵커 참조) YAML 앵커를 사용해 다른 곳에 정의된 여러 구성 요소로 배열을 구성할 수 있습니다. 예를 들면 다음과 같습니다. .default_scripts: &default_scripts - ./default-script1.sh - ./default-script2.sh job1: script: - *default_scripts - ./job-script.sh include 키워드를 사용할 때는 여러 파일에 걸쳐 YAML 앵커를 사용할 수 없습니다. 앵커는 정의된 파일 내에서만 유효합니다. 서로 다른 YAML 파일의 구성을 재사용하려면 !reference 태그 또는 extends 키워드 를 사용합니다. 다음 예시는 앵커와 맵 병합을 사용합니다. 이 예시는 .job_template 구성을 상속하면서 각각 고유한 script 가 정의된 두 개의 job, test1 과 test2 를 생성합니다. .job_template: &job_configuration # Hidden yaml configuration that defines an anchor named 'job_configuration' image: ruby:2.6 services: - postgres - redis test1: <<: *job_configuration # Add the contents of the 'job_configuration' alias script: - test1 project test2: <<: *job_configuration # Add the contents of the 'job_configuration' alias script: - test2 project & 는 앵커의 이름( job_configuration )을 설정하고, << 는 "지정된 해시를 현재 해시에 병합한다"는 의미이며, * 는 이름이 지정된 앵커(다시 job_co