InfoGrab Docs

GitLab CI/CD 설정 파일 최적화

YAML 앵커, !reference 태그, extends 키워드를 사용하여 CI/CD 설정 파일의 복잡성을 줄이는 방법.

다음을 사용하여 GitLab CI/CD 설정 파일의 복잡성과 중복 설정을 줄일 수 있습니다: 앵커( & ) , 별칭( * ), 맵 병합( << ) 같은 YAML 고유 기능. 다양한 YAML 기능 에 대해 더 읽어보세요. 더 유연하고 가독성이 좋은 extends 키워드 . 가능한 경우 extends 를 사용하는 것이 좋습니다. 변수 값만 다른 유사한 잡을 여러 개 생성하려면 parallel:matrix 를 사용하세요. 앵커 {#anchors} # YAML에는 문서 전체에서 콘텐츠를 복제할 수 있는 '앵커'라는 기능이 있습니다. 앵커를 사용하여 속성을 복제하거나 상속할 수 있습니다. 잡의 템플릿을 제공하기 위해 숨겨진 잡 과 함께 앵커를 사용하세요. & 문자는 앵커 이름을 표시하고, * 문자는 앵커를 참조하는 별칭입니다. 앵커는 이를 참조하는 별칭보다 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 가 정의된 두 개의 잡 test1 과 test2 를 생성합니다: .job_template: &job_configuration # 'job_configuration'이라는 앵커를 정의하는 숨겨진 yaml 설정 image: ruby:2.6 services: - postgres - redis test1: <<: *job_configuration # 'job_configuration' 별칭의 내용을 추가 script: - test1 project test2: <<: *job_configuration # 'job_configuration' 별칭의 내용을 추가 script: - test2 project & 는 앵커 이름( job_configuration )을 설정하고, << 는 "주어진 해시를 현재 해시에 병합"을 의미하며, * 는 명명된 앵커( job_configuration )를 포함합니다. 이 예시의 확장된 버전은 다음과 같습니다: .job_template: image: ruby:2.6 services: - postgres - redis t