.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
. 만약 다른 키워드의 하위 키이면, 첫 번째 사용 때 “parent” 키에 모든 하위 키를 작성해야 하고, 이후로는 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)를 참조하세요.