기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
CodeDeploy AppSpec 파일 참조
이 단원은 참조용입니다. AppSpec 파일의 개념적 개요는 섹션을 참조하세요Application Specification Files.
애플리케이션 사양 파일(AppSpec 파일)은 에서 배포를 관리하는 CodeDeploy 데 사용되는 YAML
참고
로컬 배포를 수행하지 appspec.yml
않는 한 EC2/온프레미스 배포의 AppSpec 파일 이름은 여야 합니다. 자세한 내용은 로컬 배포 생성 단원을 참조하십시오.
주제
AppSpec Amazon ECS 컴퓨팅 플랫폼의 파일
Amazon ECS 컴퓨팅 플랫폼 애플리케이션의 경우 AppSpec 파일은 에서 다음을 결정하는 CodeDeploy 데 사용됩니다.
-
Amazon ECS 작업 정의 파일입니다. 이는 AppSpec 파일의
TaskDefinition
명령ARN에 로 지정됩니다. -
배포 중에 Application Load Balancer 또는 Network Load Balancer가 트래픽을 다시 라우팅하는 대체 작업 세트의 컨테이너 및 포트. 이는 AppSpec 파일의
LoadBalancerInfo
명령으로 지정됩니다. -
Amazon ECS 서비스가 실행되는 플랫폼 버전, 서브넷 및 보안 그룹과 같은 Amazon 서비스에 대한 선택적 정보입니다.
-
Amazon ECS 배포 중 수명 주기 이벤트에 해당하는 후크 중에 실행되는 선택적 Lambda 함수입니다. 자세한 내용은 AppSpec Amazon ECS 배포의 '후크' 섹션 단원을 참조하십시오.
AppSpec AWS Lambda 컴퓨팅 플랫폼의 파일
AWS Lambda 컴퓨팅 플랫폼 애플리케이션의 경우 AppSpec 파일은 에서 다음을 결정하는 CodeDeploy 데 사용됩니다.
-
배포할 Lambda 함수 버전
-
확인 테스트로 사용할 Lambda 함수
AppSpec 파일은 YAML형식 또는 JSON형식일 수 있습니다. 배포를 생성할 때 CodeDeploy 콘솔에 직접 AppSpec 파일의 내용을 입력할 수도 있습니다.
AppSpec EC2/온프레미스 컴퓨팅 플랫폼의 파일
애플리케이션이 EC2/온프레미스 컴퓨팅 플랫폼을 사용하는 경우 AppSpec 파일은 라는 YAML형식의 파일이어야 하며 애플리케이션 소스 코드의 디렉터리 구조 루트에 배치되어야 appspec.yml
합니다. 그렇지 않으면 배포에 실패합니다. 에서 다음을 결정하는 CodeDeploy 데 사용됩니다.
-
Amazon S3 또는 의 애플리케이션 개정에서 인스턴스에 설치해야 하는 항목입니다 GitHub.
-
배포 수명 주기 이벤트에 대한 응답으로 실행될 수명 주기 이벤트 후크
완료된 AppSpec 파일은 배포할 콘텐츠와 함께 아카이브 파일(지퍼, tar 또는 압축 tar)에 번들로 묶습니다. 자세한 내용은 에 대한 애플리케이션 수정 작업 CodeDeploy 단원을 참조하십시오.
참고
tar 및 압축된 tar 아카이브 파일 형식(.tar 및 .tar.gz)은 Windows Server 인스턴스에서 지원되지 않습니다.
번들 아카이브 파일(에서 개정 CodeDeploy 으로 알려짐)이 있으면 Amazon S3 버킷 또는 Git 리포지토리에 업로드합니다. 그런 다음 CodeDeploy 를 사용하여 개정을 배포합니다. 지침은 를 사용하여 배포 생성 CodeDeploy 단원을 참조하십시오.
EC2/온프레미스 컴퓨팅 플랫폼 배포를 위한 appspec.yml은 개정의 루트 디렉터리에 저장됩니다. 자세한 내용은 AppSpec EC2/온프레미스 배포용 파일 추가 및 수정 계획 수립 CodeDeploy 단원을 참조하세요.
AppSpec 파일 간격
다음은 AppSpec 파일 간격의 올바른 형식입니다. 대괄호로 묶인 숫자는 항목 간에 있어야 하는 공백 수를 나타냅니다. 예를 들어 는 항목 사이에 4개의 공백을 삽입하는 것을 [4]
의미합니다. 는 AppSpec 파일의 위치와 공백 수가 올바르지 않으면 디버깅하기 어려울 수 있는 오류를 CodeDeploy 생성합니다.
version:[1]
version-number
os:[1]operating-system-name
files: [2]-[1]source:[1]source-files-location
[4]destination:[1]destination-files-location
permissions: [2]-[1]object:[1]object-specification
[4]pattern:[1]pattern-specification
[4]except:[1]exception-specification
[4]owner:[1]owner-account-name
[4]group:[1]group-name
[4]mode:[1]mode-specification
[4]acls: [6]-[1]acls-specification
[4]context: [6]user:[1]user-specification
[6]type:[1]type-specification
[6]range:[1]range-specification
[4]type: [6]-[1]object-type
hooks: [2]deployment-lifecycle-event-name
: [4]-[1]location:[1]script-location
[6]timeout:[1]timeout-in-seconds
[6]runas:[1]user-name
다음은 올바르게 이격된 AppSpec 파일의 예입니다.
version: 0.0 os: linux files: - source: / destination: /var/www/html/WordPress hooks: BeforeInstall: - location: scripts/install_dependencies.sh timeout: 300 runas: root AfterInstall: - location: scripts/change_permissions.sh timeout: 300 runas: root ApplicationStart: - location: scripts/start_server.sh - location: scripts/create_test_db.sh timeout: 300 runas: root ApplicationStop: - location: scripts/stop_server.sh timeout: 300 runas: root
간격에 대한 자세한 내용은 YAML