- 빌드 및 배포 변수
 - 데이터베이스 변수
 - 작업 비활성화 변수
 - 애플리케이션 비밀 변수 구성
 - 애플리케이션 비밀 업데이트
 - 복제 변수 구성
 - 스테이징 및 프로덕션 환경을 위한 배포 정책
 - 캐너리 환경을 위한 배포 정책
 - 프로덕션으로의 점진적 롤아웃
 - 제한된 시간별 프로덕션성의 점진적 롤아웃
 
CI/CD 변수
자동 DevOps 도메인 설정, 사용자 정의 Helm 차트 제공 또는 응용 프로그램 확장에 CI/CD 변수를 사용하세요.
빌드 및 배포 변수
이 변수들을 사용하여 빌드를 사용자 정의하고 배포하세요.
| CI/CD 변수 | 설명 | 
|---|---|
ADDITIONAL_HOSTS
 | Ingress 호스트에 추가되는 쉼표로 구분된 명시된 완전한 도메인 이름 디렉터리입니다. | 
<ENVIRONMENT>_ADDITIONAL_HOSTS
 | 특정 환경을 위한 완전한 도메인 이름 디렉터리으로, 쉼표로 구분되어 Ingress 호스트에 추가됩니다. 이는 ADDITIONAL_HOSTS보다 우선합니다.
 | 
AUTO_BUILD_IMAGE_VERSION
 | 
build 작업에 사용되는 이미지 버전을 사용자 정의하세요. 버전 디렉터리을 참조하세요.
 | 
AUTO_DEPLOY_IMAGE_VERSION
 | Kubernetes 배포 작업에 사용되는 이미지 버전을 사용자 정의하세요. 버전 디렉터리을 참조하세요. | 
AUTO_DEVOPS_ATOMIC_RELEASE
 | GitLab 13.0부터, Auto DevOps는 Helm 배포에 대해 기본적으로 --atomic를 사용합니다. 이 변수를 false로 설정하여 --atomic 사용을 비활성화하세요.
 | 
AUTO_DEVOPS_BUILD_IMAGE_CNB_ENABLED
 | Auto Build에 Cloud Native Buildpacks 대신 Herokuish를 사용하도록 false로 설정하세요. 자세한 내용은 여기를 참조하세요.
 | 
AUTO_DEVOPS_BUILD_IMAGE_CNB_BUILDER
 | Cloud Native Buildpacks를 사용하여 빌드할 때 사용되는 빌더입니다. 기본 빌더는 heroku/buildpacks:18입니다. 자세한 내용은 여기를 참조하세요.
 | 
AUTO_DEVOPS_BUILD_IMAGE_EXTRA_ARGS
 | 
docker build 명령에 전달되는 추가 인수입니다. 따옴표를 사용해도 단어 분할을 방지하지 않습니다. 자세한 내용은 여기를 참조하세요.
 | 
AUTO_DEVOPS_BUILD_IMAGE_FORWARDED_CI_VARIABLES
 | 빌드 환경(빌드팩 빌더 또는 docker build)로 전달되는 쉼표로 구분된 CI/CD 변수 이름 디렉터리입니다.
 | 
AUTO_DEVOPS_BUILD_IMAGE_CNB_PORT
 | GitLab 15.0 이상에서 생성된 Docker 이미지에서 노출된 포트입니다. 어떤 포트도 노출하지 않으려면 false로 설정하세요. 기본값은 5000입니다.
 | 
AUTO_DEVOPS_CHART
 | 응용 프로그램을 배포하는 데 사용되는 Helm 차트입니다. 기본값은 GitLab이 제공하는 것입니다. | 
AUTO_DEVOPS_CHART_REPOSITORY
 | 차트를 검색하는 데 사용되는 Helm 차트 리포지터리입니다. 기본값은 https://charts.gitlab.io입니다.
 | 
AUTO_DEVOPS_CHART_REPOSITORY_NAME
 | Helm 리포지터리의 이름을 설정하는 데 사용됩니다. 기본값은 gitlab입니다.
 | 
AUTO_DEVOPS_CHART_REPOSITORY_USERNAME
 | Helm 리포지터리에 연결하기 위한 사용자 이름을 설정하는 데 사용됩니다. 자격 증명이 없는 경우 기본값은 사용되지 않습니다. 반드시 AUTO_DEVOPS_CHART_REPOSITORY_PASSWORD도 설정하세요.
 | 
AUTO_DEVOPS_CHART_REPOSITORY_PASSWORD
 | Helm 리포지터리에 연결하기 위한 암호를 설정하는 데 사용됩니다. 자격 증명이 없는 경우 기본값은 사용되지 않습니다. 반드시 AUTO_DEVOPS_CHART_REPOSITORY_USERNAME도 설정하세요.
 | 
AUTO_DEVOPS_CHART_REPOSITORY_PASS_CREDENTIALS
 | GitLab 14.2에서, 차트 아티팩트가 리포지터리와 서로 다른 호스트에 있을 때 차트 서버로 Helm 리포지터리 자격 증명을 전달하려면 비어 있지 않은 값으로 설정하세요. | 
AUTO_DEVOPS_CHART_REPOSITORY_INSECURE
 | Helm 명령에 --insecure-skip-tls-verify 인수를 추가하려면 비어 있지 않은 값을 설정하세요. 기본적으로 Helm은 TLS 확인을 사용합니다.
 | 
AUTO_DEVOPS_CHART_CUSTOM_ONLY
 | 사용자 정의 차트만 사용하려면 비어 있지 않은 값을 설정하세요. 기본적으로 최신 차트가 GitLab에서 다운로드됩니다. | 
AUTO_DEVOPS_CHART_VERSION
 | 배포 차트의 버전을 설정하세요. 기본값은 최신 사용 가능한 버전입니다. | 
AUTO_DEVOPS_COMMON_NAME
 | GitLab 15.5부터, TLS 인증서에 사용되는 공통 이름을 사용자 정의하려면 유효한 도메인 이름을 설정하세요. 기본값은 le-$CI_PROJECT_ID.$KUBE_INGRESS_BASE_DOMAIN입니다. 대체 호스트를 Ingress에 설정하지 않으려면 false로 설정하세요.
 | 
AUTO_DEVOPS_DEPLOY_DEBUG
 | GitLab 13.1부터, 이 변수가 존재하면 Helm은 디버그 로그를 출력합니다. | 
AUTO_DEVOPS_ALLOW_TO_FORCE_DEPLOY_V<N>
 | auto-deploy-image v1.0.0부터, 이 변수가 존재하면 차트의 새 주요 버전을 강제로 배포합니다. 자세한 내용은 경고를 무시하고 배포 계속하기를 참조하세요. | 
BUILDPACK_URL
 | 전체 빌드팩 URL입니다. Pack 또는 Herokuish에서 지원하는 URL을 지정해야 합니다. | 
CANARY_ENABLED
 | 캐나리 환경에 대한 배포 정책을 정의하는 데 사용됩니다. | 
BUILDPACK_VOLUMES
 | 마운트할 하나 이상의 빌드팩 볼륨을 지정합니다. 디렉터리 구분자로 파이프 |를 사용하세요.
 | 
CANARY_PRODUCTION_REPLICAS
 | 프로덕션 환경의 캐나리 배포에 배포할 캐나리 레플리카 수입니다. CANARY_REPLICAS보다 우선합니다. 기본값은 1입니다.
 | 
CANARY_REPLICAS
 | 캐나리 배포에 배포할 캐나리 레플리카 수입니다. 기본값은 1입니다. | 
CI_APPLICATION_REPOSITORY
 | 빌드되거나 배포되는 컨테이너 이미지의 리포지터리, $CI_APPLICATION_REPOSITORY:$CI_APPLICATION_TAG입니다. 자세한 내용은 사용자 정의 컨테이너 이미지를 읽으세요.
 | 
CI_APPLICATION_TAG
 | 빌드되거나 배포되는 컨테이너 이미지의 태그, $CI_APPLICATION_REPOSITORY:$CI_APPLICATION_TAG입니다. 자세한 내용은 사용자 정의 컨테이너 이미지를 읽으세요.
 | 
DAST_AUTO_DEPLOY_IMAGE_VERSION
 | 기본 브랜치에서 DAST 배포에 사용되는 이미지 버전을 사용자 정의하세요. 보통 AUTO_DEPLOY_IMAGE_VERSION과 동일해야 합니다. 버전 디렉터리을 참조하세요.
 | 
DOCKERFILE_PATH
 | GitLab 13.2부터, 빌드 단계의 기본 Dockerfile 경로를 덮어쓸 수 있습니다 | 
HELM_RELEASE_NAME
 | 
helm 릴리스 이름을 덮어쓸 수 있습니다. 하나의 네임스페이스에 여러 프로젝트를 배포할 때 고유한 릴리스 이름을 할당하는 데 사용됩니다.
 | 
HELM_UPGRADE_VALUES_FILE
 | 
helm upgrade 값 파일을 덮어쓸 수 있습니다. 기본값은 .gitlab/auto-deploy-values.yaml입니다.
 | 
HELM_UPGRADE_EXTRA_ARGS
 | 응용 프로그램을 배포할 때 helm upgrade 명령에 대한 추가 옵션을 지정할 수 있습니다. 따옴표를 사용해도 단어 분할을 방지하지 않습니다.
 | 
INCREMENTAL_ROLLOUT_MODE
 | 존재하는 경우, 프로덕션 환경의 증분 롤아웃을 사용할 수 있습니다. 매뉴얼 배포 작업에는 manual, 자동 롤아웃 배포에는 5분의 간격으로 timed를 설정하세요.
 | 
K8S_SECRET_*
 | 
K8S_SECRET_로 접두사가 지정된 모든 변수는 Auto DevOps에서 배포된 응용 프로그램에 대해 환경 변수로 사용할 수 있습니다.
 | 
KUBE_CONTEXT
 | GitLab 14.5부터, KUBECONFIG에서 사용할 컨텍스트를 선택하는 데 사용됩니다. KUBE_CONTEXT가 비어 있으면 KUBECONFIG의 기본 컨텍스트(있는 경우)가 사용됩니다. Kubernetes 에이전트와 함께 사용할 때는 반드시 컨텍스트를 선택해야 합니다.
 | 
KUBE_INGRESS_BASE_DOMAIN
 | 클러스터당 도메인을 설정하는 데 사용됩니다. 자세한 내용은 클러스터 도메인을 참조하세요. | 
KUBE_NAMESPACE
 | 배포에 사용되는 네임스페이스입니다. 인증서 기반 클러스터를 사용할 때 이 값은 직접 덮어쓰면 안 됩니다. | 
KUBECONFIG
 | 배포에 사용할 kubeconfig입니다. 사용자가 제공한 값이 GitLab이 제공한 값보다 우선합니다. | 
PRODUCTION_REPLICAS
 | 프로덕션 환경에 배포할 레플리카 수입니다. REPLICAS를 우선하고 기본값은 1입니다. 제로 다운타임 업그레이드를 위해 2 이상으로 설정하세요.
 | 
REPLICAS
 | 배포할 레플리카 수입니다. 기본값은 1입니다. replicaCount을 수정하는 대신 이 변수를 변경하세요.
 | 
ROLLOUT_RESOURCE_TYPE
 | 사용자 정의 Helm 차트를 사용할 때 배포되는 리소스 유형을 지정할 수 있습니다. 기본값은 deployment입니다.
 | 
ROLLOUT_STATUS_DISABLED
 | 모든 리소스 유형을 지원하지 않는 롤아웃 상태 확인을 비활성화하는 데 사용됩니다. 예: cronjob.
 | 
STAGING_ENABLED
 | 스테이징 및 프로덕션 환경에 대한 배포 정책을 정의하는 데 사용됩니다. | 
TRACE
 | Helm 명령이 자세한 출력을 생성하도록 하려면 이 변수를 설정하세요. 이 설정을 사용하여 Auto DevOps 배포 문제를 진단하는 데 도움을 받을 수 있습니다. | 
데이터베이스 변수
POSTGRES_ENABLED는 더 이상 기본적으로 설정되지 않습니다.CI/CD와 PostgreSQL 데이터베이스를 통합하려면 이러한 변수를 사용하십시오.
| CI/CD 변수 | 설명 | 
|---|---|
DB_INITIALIZE
 | 애플리케이션의 PostgreSQL 데이터베이스를 초기화하는 데 사용됩니다. 애플리케이션 pod 내에서 실행됩니다. | 
DB_MIGRATE
 | 애플리케이션의 PostgreSQL 데이터베이스를 마이그레이션하는 데 사용됩니다. 애플리케이션 pod 내에서 실행됩니다. | 
POSTGRES_ENABLED
 | PostgreSQL이 활성화되었는지 여부입니다. 자동으로 PostgreSQL을 배포하려면 true로 설정합니다.
 | 
POSTGRES_USER
 | PostgreSQL 사용자입니다. 기본값은 user입니다. 사용자 정의 사용자 이름을 사용하려면 설정하십시오.
 | 
POSTGRES_PASSWORD
 | PostgreSQL 암호입니다. 기본값은 testing-password입니다. 사용자 정의 암호를 사용하려면 설정하십시오.
 | 
POSTGRES_DB
 | PostgreSQL 데이터베이스 이름입니다. 기본값은 $CI_ENVIRONMENT_SLUG의 값입니다. 사용자 정의 데이터베이스 이름을 사용하려면 설정하십시오.
 | 
POSTGRES_VERSION
 | 사용할 postgres Docker 이미지의 태그입니다. GitLab 13.0에서는 테스트 및 배포를 위해 기본값이 9.6.16입니다 (이전에는 9.6.2였음). AUTO_DEVOPS_POSTGRES_CHANNEL이 1로 설정된 경우, 배포에는 기본 버전 9.6.2가 사용됩니다.
 | 
POSTGRES_HELM_UPGRADE_VALUES_FILE
 | GitLab 13.8 이상 및 auto-deploy-image v2를 사용하는 경우, PostgreSQL의 helm upgrade 값 파일을 재정의하는 데 사용되는 변수입니다. 기본값은 .gitlab/auto-deploy-postgres-values.yaml입니다.
 | 
POSTGRES_HELM_UPGRADE_EXTRA_ARGS
 | GitLab 13.8 이상 및 auto-deploy-image v2를 사용하는 경우, 응용 프로그램을 배포할 때 helm upgrade 명령에 추가 PostgreSQL 옵션을 지정하는 데 사용됩니다. 따옴표를 사용해도 단어 분할이 방지되지 않습니다.
 | 
POSTGRES_CHART_REPOSITORY
 | PostgreSQL 차트를 검색하는 데 사용되는 Helm 차트 리포지터리입니다. 기본값은 https://raw.githubusercontent.com/bitnami/charts/eb5f9a9513d987b519f0ecd732e7031241c50328/bitnami입니다.
 | 
POSTGRES_CHART_VERSION
 | PostgreSQL 차트에 사용되는 Helm 차트 버전입니다. 기본값은 8.2.1입니다.
 | 
작업 비활성화 변수
CI/CD 작업을 비활성화하는 데 이러한 변수를 사용하십시오.
| 작업 이름 | CI/CD 변수 | GitLab 버전 | 설명 | 
|---|---|---|---|
.fuzz_base
 | COVFUZZ_DISABLED
 | GitLab 13.2부터 | 
.fuzz_base가 "true"인 경우 작업이 생성되지 않습니다. 자체 작업에 기능을 제공합니다.
 | 
apifuzzer_fuzz
 | API_FUZZING_DISABLED
 | GitLab 13.3부터 | 
true인 경우 작업이 생성되지 않습니다.
 | 
build
 | BUILD_DISABLED
 | 해당 변수가 존재하는 경우 작업이 생성되지 않습니다. | |
build_artifact
 | BUILD_DISABLED
 | 해당 변수가 존재하는 경우 작업이 생성되지 않습니다. | |
brakeman-sast
 | SAST_DISABLED
 | 
"true"인 경우 작업이 생성되지 않습니다.
 | |
canary
 | CANARY_ENABLED
 | 해당 변수가 존재하는 경우 매뉴얼 작업이 생성됩니다. | |
code_intelligence
 | CODE_INTELLIGENCE_DISABLED
 | GitLab 13.6부터 | 해당 변수가 존재하는 경우 작업이 생성되지 않습니다. | 
code_quality
 | CODE_QUALITY_DISABLED
 | 
"true"인 경우 작업이 생성되지 않습니다.
 | |
container_scanning
 | CONTAINER_SCANNING_DISABLED
 | 
"true"인 경우 작업이 생성되지 않습니다.
 | |
dast
 | DAST_DISABLED
 | 
"true"인 경우 작업이 생성되지 않습니다.
 | |
dast_environment_deploy
 | 
DAST_DISABLED_FOR_DEFAULT_BRANCH 또는 DAST_DISABLED
 | GitLab 12.4부터 | 
"true"인 경우 작업이 생성되지 않습니다.
 | 
dependency_scanning
 | DEPENDENCY_SCANNING_DISABLED
 | 
"true"인 경우 작업이 생성되지 않습니다.
 | |
| … (이하 생략) … | 
애플리케이션 비밀 변수 구성
일부 배포된 애플리케이션은 비밀 변수에 액세스해야 할 수 있습니다.
Auto DevOps는 K8S_SECRET_으로 시작하는 CI/CD 변수를 감지하고
배포된 애플리케이션에서 환경 변수로 사용할 수 있게 만듭니다.
필수 조건:
- 변수 값은 한 줄이어야 합니다.
 
비밀 변수를 구성하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
 - 설정 > CI/CD를 선택합니다.
 - 변수를 확장합니다.
 - 접두사 
K8S_SECRET_를 사용하여 CI/CD 변수를 만듭니다. 예를 들어,K8S_SECRET_RAILS_MASTER_KEY라는 변수를 만들 수 있습니다. - Auto DevOps 파이프라인을 실행합니다. 새 파이프라인을 매뉴얼으로 만들거나 코드 변경을 GitLab에 푸시하여 실행할 수 있습니다.
 
Kubernetes 시크릿
Auto DevOps 파이프라인은 여러분의 애플리케이션 비밀 변수를
Kubernetes 시크릿에 채웁니다. 이 시크릿은 환경마다 고유합니다.
애플리케이션을 배포할 때, 시크릿은 애플리케이션을 실행하는
컨테이너의 환경 변수로 로드됩니다. 예를 들어, K8S_SECRET_RAILS_MASTER_KEY라는
시크릿을 만든다면, Kubernetes 시크릿은 다음과 같을 것입니다:
$ kubectl get secret production-secret -n minimal-ruby-app-54 -o yaml
apiVersion: v1
data:
  RAILS_MASTER_KEY: MTIzNC10ZXN0
kind: Secret
metadata:
  creationTimestamp: 2018-12-20T01:48:26Z
  name: production-secret
  namespace: minimal-ruby-app-54
  resourceVersion: "429422"
  selfLink: /api/v1/namespaces/minimal-ruby-app-54/secrets/production-secret
  uid: 57ac2bfd-03f9-11e9-b812-42010a9400e4
type: Opaque
애플리케이션 비밀 업데이트
일반적으로 Kubernetes pod에서 환경 변수는 변경할 수 없습니다. 애플리케이션 비밀을 업데이트한 후 매뉴얼으로 새 파이프라인을 만드는 경우 실행 중인 애플리케이션은 업데이트된 비밀을 받지 못합니다.
애플리케이션 비밀을 업데이트하려면 다음 중 하나를 수행하세요:
- 쿠버네티스 배포를 다시 만들기 위해 GitLab에 코드를 업데이트합니다.
 - 새로운 pod을 만들도록 실행 중인 pod을 매뉴얼으로 삭제합니다. 쿠버네티스는 업데이트된 비밀을 사용하여 새로운 pod을 생성합니다.
 
여러 줄 값을 가진 변수는 Auto DevOps 스크립팅 환경의 제한으로 지원되지 않습니다.
복제 변수 구성
배포를 확장하려면 복제 변수를 추가하세요:
- 프로젝트 CI/CD 변수로 복제 변수를 추가합니다.
 - 
애플리케이션을 확장하려면 다시 배포하십시오.
쿠버네티스를 직접 사용하여 애플리케이션을 확장하지 마세요. Helm은 변경 사항을 감지하지 못할 수 있으며, Auto DevOps로 이후 배포가 여러분의 변경 사항을 취소할 수 있습니다. 
사용자 정의 복제 변수
<TRACK>_<ENV>_REPLICAS 형식의 사용자 정의 복제 변수를 만들 수 있습니다:
- 
<TRACK>은 Helm 차트 앱 정의에서 설정된track의 대문자 값입니다. Kubernetes label로 설정됩니다.track이 설정되지 않은 경우, 사용자 정의 변수에서<TRACK>을 빼야 합니다. - 
<ENV>은.gitlab-ci.yml에서 설정된 배포 작업의 대문자 환경 이름입니다. 
예를 들어, 환경이 qa이고 트랙이 foo인 경우, FOO_QA_REPLICAS라는
환경 변수를 만들 수 있습니다:
QA testing:
  stage: deploy
  environment:
    name: qa
  script:
    - deploy foo
트랙 foo는 애플리케이션의 Helm 차트에 정의되어 있어야 합니다.
예를 들어:
replicaCount: 1
image:
  repository: gitlab.example.com/group/project
  tag: stable
  pullPolicy: Always
  secrets:
    - name: gitlab-registry
application:
  track: foo
  tier: web
service:
  enabled: true
  name: web
  type: ClusterIP
  url: http://my.host.com/
  externalPort: 5000
  internalPort: 5000
스테이징 및 프로덕션 환경을 위한 배포 정책
일반적으로 Auto DevOps는 지속적 배포를 사용하고,
기본 브랜치에서 새 파이프라인이 실행될 때 자동으로 production 환경으로
배포합니다. 매뉴얼으로 프로덕션에 배포하려면 STAGING_ENABLED CI/CD 변수를
사용할 수 있습니다.
STAGING_ENABLED를 설정하면 GitLab은 자동으로 애플리케이션을 staging 환경에
배포합니다. 프로덕션에 배포하기 전에 production_manual 작업을 만들어야
합니다.
또한 프로젝트 설정에서 매뉴얼 배포를 활성화할 수 있습니다.
캐너리 환경을 위한 배포 정책
프로덕션에 변경 사항을 배포하기 전에 캐너리 환경을 사용할 수 있습니다.
CANARY_ENABLED를 설정하면 GitLab은 두 개의 매뉴얼 작업을 만듭니다:
- 
canary- 애플리케이션을 캐너리 환경에 배포합니다. - 
production_manual- 애플리케이션을 프로덕션에 배포합니다. 
프로덕션으로의 점진적 롤아웃
점진적 롤아웃을 사용하여 애플리케이션을 계속 배포하면서 몇 개의 pod으로부터 시작합니다. 여러분은 매뉴얼으로 pod 수를 늘릴 수 있습니다.
프로젝트 설정에서 매뉴얼 배포를 활성화하거나,
INCREMENTAL_ROLLOUT_MODE를 manual로 설정하여 사용할 수 있습니다.
INCREMENTAL_ROLLOUT_MODE를 manual로 설정하면 GitLab은 네 가지
매뉴얼 작업을 만듭니다:
rollout 10%rollout 25%rollout 50%rollout 100%
이 백분율은 REPLICAS CI/CD 변수를 기반으로 하며
배포에 사용될 pod 수를 정의합니다. 예를 들어, 값이 10이고
10% 롤아웃 작업을 실행하면 애플리케이션이 단일 pod으로만 배포됩니다.
롤아웃 작업은 어떤 순서로든 실행할 수 있습니다. 축소하려면 더 낮은 백분율 작업을 다시 실행하세요.
rollout 100% 작업을 실행한 후에는 축소할 수 없으며,
배포를 되돌리려면 되돌려야 합니다.
예시 점진적 롤아웃 구성
INCREMENTAL_ROLLOUT_MODE 및 STAGING_ENABLED 없이:
INCREMENTAL_ROLLOUT_MODE 없이 그리고 STAGING_ENABLED으로:
INCREMENTAL_ROLLOUT_MODE가 매뉴얼으로 설정되고 STAGING_ENABLED 없이:
INCREMENTAL_ROLLOUT_MODE가 매뉴얼으로 설정되고 STAGING_ENABLED으로:
제한된 시간별 프로덕션성의 점진적 롤아웃
제한된 시간별 점진적 롤아웃을 사용하여 응용 프로그램을 지속적으로 배포하며, 처음에는 일부 pod로 시작합니다.
프로젝트 설정에서 제한된 시간별 배포를 활성화하거나 INCREMENTAL_ROLLOUT_MODE CI/CD 변수를 timed로 설정하여 사용할 수 있습니다.
INCREMENTAL_ROLLOUT_MODE를 timed로 설정하면 GitLab이 네 가지 작업을 생성합니다:
timed rollout 10%timed rollout 25%timed rollout 50%timed rollout 100%
작업 간에는 다섯 분의 지연이 있습니다.




도움말