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

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

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

YAML 참조 구조

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

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

YAML 참조 스타일

참조에 있는 각 키워드 항목은 다음과 같아야 합니다:

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

  • 키워드 이름을 제목으로 사용해야 하며 예를들어:

    ### `artifacts`
    
  • 다음과 같은 섹션을 포함해야 합니다:
  • (선택사항) 필요할 때 다음 섹션도 포함할 수 있습니다:

키워드 이름은 항상 끝을 나타내는 : 없이 언제나 역따옴표 안에 있어야 합니다. 예를들면 artifactsartifacts:가 아니어야 합니다. 다른 키워드의 하위키가 경우, 첫 사용시 “부모” 키에 모든 하위키를 작성해야 합니다. 예를들면 처음에는 artifacts:reports:dast 같이 모든 하위키를 작성한 다음 그 다음에는 dast와 같이 하위키만 사용할 수 있습니다.

키워드 유형

키워드는 작업 키워드 또는 전역 키워드가 될 수 있습니다. default 섹션에서 사용할 수 있다면 해당 사실도 기록해야 합니다. 예를들면:

  • **키워드 유형**: 전역 키워드.
  • **키워드 유형**: 작업 키워드. 작업의 일부로만 사용할 수 있습니다.
  • **Keyword type**: Job keyword. You can use it only as part of a job or in the [`default:` section](#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)를 참조하세요.