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

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

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

YAML 참조 구조

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

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

YAML 참조 스타일

참조에서 각 키워드 항목은:

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

  • 키워드 이름을 제목으로 사용해야 합니다. 예를 들어:

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

키워드 이름은 항상 백틱 안에 있어야 하며, 마지막에 :가 없어야 합니다, 예를 들어 artifacts, 아닌 artifacts:.

다른 키워드의 하위 키인 경우, 처음 사용할 때는 모든 하위 키를 “부모” 키에 대해 모두 작성해야 합니다. 예를 들어 artifacts:reports:dast. 이후에는 하위 키만 사용할 수 있습니다, 예를 들어 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)를 참조하십시오.