.gitlab-ci.yml 키워드 문서화

CI/CD YAML 구문 참조는 사용 및 업데이트를 쉽게하기 위해 표준 스타일을 사용합니다.

참조 정보는 가능한 한 간단하게 유지하고 확장된 세부 정보 및 예시는 다른 페이지에 문서화해야 합니다.

YAML 참조 구조

각 YAML 키워드는 참조에서 자체 섹션을 가져야 합니다. 섹션은 키워드가 논리적인 트리 구조를 따르도록 중첩되어야 합니다. 예를 들어:

### `artifacts`
#### `artifacts:name`
#### `artifacts:paths`
#### `artifacts:reports`
##### `artifacts:reports:dast`
##### `artifacts:reports:sast`

YAML 참조 스타일

참조의 각 키워드 항목:

  • 간단한 소개 섹션이 있어야 합니다. 소개는 키워드를 사용하는 데 필요한 기본 정보를 제공해야 합니다. 고급 세부 정보 및 작업은 참조 페이지가 아니라 기능 페이지에 있어야 합니다.

  • 키워드 이름을 제목으로 사용해야 하며 다음과 같은 섹션을 포함해야 합니다:
  • (선택 사항) 필요할 때 다음과 같은 섹션도 포함할 수 있습니다:

키워드 이름은 항상 끝에 :가 없는 역따옴표로 작성되어야 합니다. 즉, artifacts:가 아니라 artifacts여야 합니다. 다른 키워드의 하위키인 경우 처음에는 “부모” 키까지 모든 하위키를 작성해야 합니다. 그 후에는 dast와 같은 하위키만 사용할 수 있습니다.

키워드 유형

키워드는 작업 또는 전역 키워드일 수 있습니다. default 섹션에서 사용할 수 있다면 그것도 명시해야 합니다. 예를 들어:

  • **키워드 유형**: 전역 키워드.
  • **키워드 유형**: 작업 키워드. 작업의 일부로만 사용할 수 있습니다.
  • **키워드 유형**: 작업 키워드. 작업의 일부로만 사용할 수 있거나 [`default:` 섹션](#default)에서 사용할 수 있습니다.

가능한 입력

가능한 입력을 모두 나열하고 기본값 또는 다른 GitLab 버전에 따른 변경 사항과 같은 입력에 대한 추가 세부 정보를 포함해야 합니다. 예를 들어:

**가능한 입력**:

- `true` (정의되지 않은 경우 기본값) 또는 `false`.
**가능한 입력**:

- 단일 종료 코드.
- 종료 코드 배열.
**가능한 입력**:

- 긴 설명이 포함된 문자열.
- 설명이 포함된 파일의 경로. [GitLab 13.7](https://gitlab.com/gitlab-org/release-cli/-/merge_requests/67)에 도입되었습니다.
  - 파일 위치는 프로젝트 디렉터리(`$CI_PROJECT_DIR`)를 기준으로 상대적이어야 합니다.
  - 파일이 심볼릭 링크인 경우 `$CI_PROJECT_DIR`에 있어야 합니다.
  - `./path/to/file` 및 파일 이름에는 공백이 포함될 수 없습니다.

keyword-name의 예시

키워드에 대한 예시. 예시가 유효하도록 만드는 데 필요한 다른 키워드의 최소한의 수를 사용해야 합니다. 예시에 설명이 필요한 경우, 예시 뒤에 추가해야 합니다. 예를 들어:

**`dast`의 예시**:

```yaml
stages:
  - build
  - dast

include:
  - template: DAST.gitlab-ci.yml

dast:
  dast_configuration:
    site_profile: "Example Co"
    scanner_profile: "Quick Passive Test"
```

이 예시에서 `dast` 작업은 `include:` 키워드로 추가된 `dast` 구성을 확장하여 특정 사이트 프로필 및 스캐너 프로필을 선택합니다.

추가 세부 정보

추가 세부 정보는 소개에 넣기에는 중요하지 않지만 알아 두면 유용한 여러 정보로 이루어진 디렉터리이어야 합니다. 이 정보에는 다른 GitLab 버전에서 도입된 변경 사항을 포함할 수 있습니다. 예를 들어:

**추가 세부 정보**:

- 아티팩트가 업로드되어 GitLab에 저장될 때 만료 기간이 시작됩니다. 만료 시간이 정의되지 않으면 [인스턴스 전역 설정](../../administration/settings/continuous_integration.md#default-artifacts-expiration)의 기본값을 사용합니다.
- 만료 날짜를 재정의하고 아티팩트가 자동으로 삭제되는 것을 방지하려면:
  - 작업 페이지에서 **유지**를 선택합니다.
  - [GitLab 13.3 이상에서](https://gitlab.com/gitlab-org/gitlab/-/issues/22761), `expire_in` 값을 `never`로 설정합니다.

관련 주제

관련 주제는 키워드와 관련된 페이지로의 교차 링크 디렉터리이어야 합니다. 이는 다음과 같은 것을 포함할 수 있습니다:

  • 키워드로 수행할 수 있는 특정 작업.
  • 키워드의 고급 예시.
  • 이 키워드와 함께 사용할 수 있는 다른 관련 키워드.

예를 들어:

**관련 주제**:

- 지정한 `cache:key`를 찾을 수 없을 때 사용할 [폴백 캐시 키를](../caching/index.md#use-a-fallback-cache-key) 지정할 수 있습니다.
- 단일 작업에서 [여러 캐시 키](../caching/index.md#use-multiple-caches)를 사용할 수 있습니다.
- 더 많은 `cache:key` 예시를 보려면 [일반 `cache` 사용 사례](../caching/index.md#common-use-cases-for-caches)를 참조하세요.