CI/CD 입력 예시
CI/CD 입력 예시에 대해 설명합니다.
CI/CD 입력 은 CI/CD 구성의 유연성을 높입니다. 이 예시를 파이프라인에서 입력을 사용하도록 구성하는 가이드라인으로 사용하세요. 동일한 파일을 여러 번 포함 # 같은 파일을 다른 입력으로 여러 번 포함할 수 있습니다. 그러나 같은 이름의 여러 작업이 하나의 파이프라인에 추가되면 각 추가 작업은 같은 이름의 이전 작업을 덮어씁니다. 구성이 중복 작업 이름을 방지하도록 해야 합니다. 예를 들어, 다른 입력으로 동일한 구성을 여러 번 포함하는 경우: include: - local: path/to/my-super-linter.yml inputs: linter: docs lint-path: "doc/" - local: path/to/my-super-linter.yml inputs: linter: yaml lint-path: "data/yaml/" path/to/my-super-linter.yml 의 구성은 포함될 때마다 작업에 고유한 이름을 갖도록 합니다: spec: inputs: linter: lint-path: --- "run-$[[ inputs.linter ]]-lint" : script: ./lint --$[[ inputs.linter ]] --path=$[[ inputs.lint-path ]] inputs 에서 구성 재사용 # inputs 로 구성을 재사용하려면 YAML 앵커 를 사용할 수 있습니다. 예를 들어, 입력에서 rules 배열을 지원하는 여러 컴포넌트와 함께 동일한 rules 구성을 재사용하려면: .my-job-rules: &my-job-rules - if: $CI_PIPELINE_SOURCE == "merge_request_event" - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH include: - component: $CI_SERVER_FQDN/project/path/component1@main inputs: job-rules: *my-job-rules - component: $CI_SERVER_FQDN/project/path/component2@main inputs: job-rules: *my-job-rules 입력에서 !reference 태그 를 사용할 수 없지만 이슈 424481 에서 이 기능 추가를 제안하고 있습니다. needs 와 함께 inputs 사용 # 복잡한 작업 의존성을 위해 needs 와 함께 배열 유형 입력을 사용할 수 있습니다. 예를 들어, component.yml 이라는 파일에서: spec: inputs: first_needs: type: array second_needs: type: array --- test_job: script: echo "this job has needs" needs: - $[[ inputs.first_needs ]] - $[[ inputs.second_needs ]] 이 예시에서 입력은 first_needs 와 second_needs 이며 둘 다 배열 유형 입력 입니다. 그런 다음 .gitlab-ci.yml 파일에서 이 구
