v AWS CDK 2 개발자 안내서입니다. 이전 CDK v1은 2022년 6월 1일에 유지 관리에 들어갔으며 2023년 6월 1일에 지원이 종료되었습니다.
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
배포 및 핫스왑을 수행하기 위한 변경 사항이 있는지 로컬 AWS CDK 프로젝트를 지속적으로 관찰합니다.
이 명령은 단일 명령을 통해 연속 배포와 핫스왑을 수행할 수 있다는 점을 제외하면 cdk deploy
와 유사합니다.
이 명령은 cdk deploy --watch
의 바로 가기입니다.
cdk watch
세션을 종료하려면 Ctrl+C
를 눌러 프로세스를 중단합니다.
관찰되는 파일은 cdk.json
파일의 "watch"
설정에 따라 결정됩니다. 단일 문자열 또는 문자열 배열을 수락하는 "include"
와 "exclude"
라는 2개의 하위 키가 있습니다. 각 항목은 cdk.json
파일 위치를 기준으로 한 경로로 해석됩니다. *
와 **
모두 수락됩니다.
cdk init
명령을 사용하여 프로젝트를 생성하는 경우 프로젝트의 cdk.json
파일에서 cdk watch
에 대해 다음과 같은 기본 동작이 구성됩니다.
-
"include"
는"**/*"
로 설정되어 프로젝트 루트의 모든 파일과 디렉터리를 포함합니다. -
"exclude"
는 선택 사항입니다. 단, 기본적으로 이미 무시된 파일과 폴더는 제외됩니다. 여기에는.
으로 시작하는 파일 및 디렉터리, CDK 출력 디렉터리,node_modules
디렉터리가 포함됩니다.
watch
를 구성하기 위한 최소 설정은 "watch": {}
입니다.
CDK 코드 또는 애플리케이션 코드에 배포 전 빌드 단계가 필요한 경우 cdk watch
는 cdk.json
파일의 "build"
키로 작업합니다.
참고
이 명령은 실험적인 것으로 간주되며 향후 큰 변경이 있을 수 있습니다.
cdk deploy --hotswap
의 동일한 제한 사항이 cdk watch
에 적용됩니다. 자세한 내용은 cdk deploy --hotswap
단원을 참조하십시오.
사용법
$
cdk watch
<arguments>
<options>
인수
- CDK 스택 ID
-
앱에서 감시하려는 CDK 스택의 구문 ID입니다.
유형: 문자열
필수 항목 여부: 아니요
옵션
모든 CDK CLI 명령에서 작동하는 글로벌 옵션 목록은 글로벌 옵션 섹션을 참조하세요.
--build-exclude, -E
ARRAY
-
지정된 ID로 자산을 다시 빌드하지 않습니다.
이 옵션은 단일 명령에서 여러 번 지정할 수 있습니다.
기본값:
[]
--change-set-name
STRING
-
생성할 CloudFormation 변경 세트의 이름입니다.
--concurrency
NUMBER
-
스택 간 종속성을 고려하면서 여러 스택을 병렬로 배포하고 핫스와핑합니다. 배포 속도를 높이려면 이 옵션을 사용합니다. CloudFormation 및 기타 AWS 계정 속도 제한을 고려해야 합니다.
수행할 최대 동시 배포 수(종속성 허용)를 지정하려면 숫자를 제공합니다.
기본값:
1
--exclusively, -e
BOOLEAN
-
요청된 스택만 배포하고 종속성은 포함하지 않습니다.
--force, -f
BOOLEAN
-
템플릿이 동일하더라도 항상 스택을 배포합니다.
기본값:
false
--help, -h
BOOLEAN
-
cdk watch
명령에 대한 명령 참조 정보를 표시합니다. --hotswap
BOOLEAN
-
기본적으로
cdk watch
는 가능한 경우 핫스왑 배포를 사용하여 리소스를 업데이트합니다. CDK CLI는 핫스왑 배포를 수행하려고 시도하며 실패할 경우 전체 CloudFormation 배포로 폴백되지 않습니다. 핫스왑을 통해 업데이트할 수 없는 탐지된 모든 변경 사항은 무시됩니다.기본값:
true
--hotswap-fallback
BOOLEAN
-
기본적으로
cdk watch
는 핫스왑 배포를 수행하려고 시도하고 CloudFormation 배포가 필요한 변경 사항을 무시합니다. hotswap 배포가 실패할 경우--hotswap-fallback
을 제공하여 전체 CloudFormation 배포를 폴백하고 수행합니다. --logs
BOOLEAN
-
기본적으로
cdk watch
는 애플리케이션의 모든 CloudWatch 로그 그룹을 모니터링하고 로그 이벤트를 로컬로stdout
에 스트리밍합니다.기본값:
true
--progress
STRING
-
CDK CLI가 배포 진행 상황을 표시하는 방법을 구성합니다.
-
bar
- 현재 배포 중인 리소스에 대한 이벤트와 함께 스택 배포 이벤트를 진행률 표시줄로 표시합니다. -
events
– 모든 CloudFormation 이벤트를 포함한 전체 기록을 제공합니다.
프로젝트의
cdk.json
파일이나 로컬 개발 시스템의~/.cdk.json
에서 이 옵션을 구성할 수도 있습니다.{ "progress": "events" }
유효한 값:
bar
,events
기본값:
bar
-
--rollback
BOOLEAN
-
배포 중 리소스 생성 또는 업데이트에 실패하면 배포는 CDK CLI가 반환되기 전에 최신 안정 상태로 롤백됩니다. 해당 시점까지의 변경 사항은 모두 취소됩니다. 생성된 리소스는 삭제되고 적용된 업데이트는 롤백됩니다.
--no-rollback
또는-R
을 사용하여 이 동작을 비활성화합니다. 리소스 생성 또는 업데이트에 실패하면 CDK CLI는 해당 시점까지의 변경 사항을 그대로 두고 반환됩니다. 이는 빠르게 반복하는 개발 환경에서 유용할 수 있습니다.참고
false
이면 리소스 교체를 유발하는 배포는 항상 실패합니다. 이 값은 새 리소스를 업데이트하거나 생성하는 배포에만 사용할 수 있습니다.기본값:
true
--toolkit-stack-name
STRING
-
기존 CDK Toolkit 스택의 이름입니다.
기본적으로는 라는 스택
CDKToolkit
을 지정된 AWS 환경에cdk bootstrap
배포합니다. 부트스트랩 스택에 다른 이름을 지정하려면 이 옵션을 사용합니다.CDK CLI는 이 값을 사용하여 부트스트랩 스택 버전을 확인합니다.
예시
논리적 ID DevelopmentStack이 있는 CDK 스택에서 변경 사항 확인
$
cdk watch DevelopmentStack
Detected change to 'lambda-code/index.js' (type: change). Triggering 'cdk deploy' DevelopmentStack: deploying... ✅ DevelopmentStack
변경 사항 감시 대상에 포함할 항목과 제외할 항목에 대해 cdk.json 파일을 구성합니다.
{
"app": "mvn -e -q compile exec:java",
"watch": {
"include": "src/main/**",
"exclude": "target/*"
}
}
cdk.json 파일을 구성하여 배포 전 Java로 CDK 프로젝트 빌드
{
"app": "mvn -e -q exec:java",
"build": "mvn package",
"watch": {
"include": "src/main/**",
"exclude": "target/*"
}
}