Amazon S3 CodeDeploy 버전 푸시 (EC2/온프레미스 배포만 해당) - AWS CodeDeploy

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon S3 CodeDeploy 버전 푸시 (EC2/온프레미스 배포만 해당)

에 설명된 대로 수정기호를 계획한 후CodeDeploy 에 대한 수정 버전 계획에서 설명한 대로 개정판에 AppSpec 파일을 추가합니다.CodeDCodeDeploy 에 대한 수정 버전에 응용 프로그램 사양 파일 추가에서 구성 요소 파일을 번들로 묶고 수정 버전을 Amazon S3 로 푸시할 준비가 되었습니다. Amazon EC2 인스턴스에 배포하는 경우 수정 버전을 푸시한 후 CodeDeploy 를 사용하여 Amazon S3 에서 인스턴스로 수정 버전을 배포할 수 있습니다.

참고

CodeDeploy 를 사용하여 GitHub 에 푸시된 수정 버전을 배포할 수도 있습니다. 자세한 내용은 GitHub 문서를 참조하십시오.

의 지침을 이미 완료한 것으로 가정합니다.CodeDeploy 시작하기를 설정하려면AWS CLI. 이는 특히 호출 시 중요합니다.push이 명령은 나중에 설명합니다.

Amazon S3 버킷이 있는지 확인합니다. 의 지침을 따르십시오.버킷 만들기.

Amazon EC2 인스턴스에 배포한 경우 대상 Amazon S3 버킷은 대상 인스턴스와 동일한 리전에 생성되거나 존재해야 합니다. 예를 들어 미국 동부 (버지니아 북부) 리전에 있는 인스턴스와 미국 서부 (오레곤) 리전에 있는 다른 인스턴스에 개정을 배포하려면 미국 동부 (버지니아 북부) 에 하나의 버킷이 있어야 합니다.동일한 수정본의 사본입니다. 이 시나리오에서는 리전 및 버킷 모두에서 수정 버전이 동일하더라도 미국 동부 (버지니아 북부) 리전과 미국 서부 (오레곤) 리전에 하나씩 두 개의 개별 배포를 만들어야 합니다.

Amazon S3 버킷에 업로드할 수 있는 권한이 있어야 합니다. Amazon S3 버킷 정책을 통해 이러한 권한을 지정할 수 있습니다. 예를 들어 다음 Amazon S3 버킷 정책에서 와일드카드 문자 (*) 를 사용하면AWSaccount111122223333이라는 Amazon S3 버킷의 디렉터리에 파일을 업로드합니다.codedeploydemobucket:

{ "Statement": [ { "Action": [ "s3:PutObject" ], "Effect": "Allow", "Resource": "arn:aws:s3:::codedeploydemobucket/*", "Principal": { "AWS": [ "111122223333" ] } } ] }

를 보려면AWS계정 ID에 대한 자세한 내용은찾기AWS계정 ID.

Amazon S3 버킷 정책을 생성하고 연결하는 방법은버킷 정책 예제.

호출 중인 IAM 사용자push명령에는 최소한 각 대상 Amazon S3 버킷에 수정 버전을 업로드할 수 있는 권한이 있어야 합니다. 예를 들어 다음 정책은 IAM 사용자가 이름이 인 Amazon S3 버킷의 어디에나 개정판을 업로드할 수 있도록 허용합니다.codedeploydemobucket:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::codedeploydemobucket/*" } ] }

IAM 정책을 생성하고 연결하는 방법은정책 작업.

를 사용하여 개정판을 푸시합니다.AWS CLI

참고

push명령은 응용 프로그램 아티팩트와 AppSpec 파일을 개정판으로 번들로 묶습니다. 이 리비전의 파일 형식은 압축된 ZIP 파일입니다. 이 명령은 다음과 같이 사용할 수 없습니다.AWSLambda 또는 Amazon ECS 배포는 각각 JSON 형식 또는 YAML 형식의 AppSpec 파일인 수정 버전이 필요하기 때문입니다.

를 호출합니다.push명령을 사용하여 배포에 대한 수정 버전을 번들링하고 푸시합니다. 해당 매개 변수는 다음과 같습니다.

  • --application-name: (문자열) 필수 애플리케이션 개정과 연결할 CodeDeploy 애플리케이션의 이름입니다.

  • --s3-location: (문자열) 필수 Amazon S3 업로드할 애플리케이션 개정의 위치에 대한 정보입니다. Amazon S3 버킷과 키를 지정해야 합니다. 키는 리비전의 이름입니다. CodeDeploy 는 업로드되기 전에 콘텐츠를 압축합니다. s3://your-S3-bucket-name/your-key.zip 형식을 사용합니다.

  • --ignore-hidden-files또는--no-ignore-hidden-files: (부울) 선택 사항입니다. 사용--no-ignore-hidden-files플래그 (기본값) 를 사용하여 숨김 파일을 번들링하고 Amazon S3 업로드합니다. 사용--ignore-hidden-files플래그를 사용하여 숨은 파일을 번들로 묶고 Amazon S3 업로드하지 않습니다.

  • --source(문자열) 선택 사항입니다. 배포할 콘텐츠의 위치 및 개발 시스템의 AppSpec 파일을 압축하여 Amazon S3 업로드합니다. 위치는 현재 디렉터리에 상대적인 경로로 지정됩니다. 상대 경로가 지정되지 않았거나 경로에 단일 마침표 (“.”) 를 사용하는 경우 현재 디렉토리가 사용됩니다.

  • --description(문자열) 선택 사항입니다. 애플리케이션 개정의 요약입니다. 지정하지 않은 경우, 기본 문자열 “에 의해 업로드되었습니다.AWS CLI '시간' UTC”가 사용됩니다. 여기서 '시간'은 UTC (협정 세계시) 의 현재 시스템 시간입니다.

다음을 수행할 수 있습니다.AWS CLI를 사용하여 Amazon EC2 배포에 대한 수정 버전을 푸시합니다. 예를 들어 push 명령은 다음과 같습니다.

Linux, macOS 또는 Unix의 경우는 다음과 같습니다.

aws deploy push \ --application-name WordPress_App \ --description "This is a revision for the application WordPress_App" \ --ignore-hidden-files \ --s3-location s3://codedeploydemobucket/WordPressApp.zip \ --source .

Windows의 경우:

aws deploy push --application-name WordPress_App --description "This is a revision for the application WordPress_App" --ignore-hidden-files --s3-location s3://codedeploydemobucket/WordPressApp.zip --source .

이 명령은 다음 작업을 수행합니다.

  • 번들로 제공되는 파일을 라는 응용 프로그램과 연결합니다.WordPress_App.

  • 리비전에 설명을 첨부합니다.

  • 숨은 파일을 무시합니다.

  • 개정의 이름을 지정합니다.WordPressApp.zip라는 버킷으로 푸시합니다.codedeploydemobucket.

  • 루트 디렉토리의 모든 파일을 리비전으로 묶습니다.

푸시가 성공한 후에는AWS CLI또는 CodeDeploy 콘솔을 사용하여 Amazon S3 에서 수정 버전을 배포합니다. 이 수정 버전을 배포하려면AWS CLI:

Linux, macOS 또는 Unix의 경우는 다음과 같습니다.

aws deploy create-deployment \ --application-name WordPress_App \ --deployment-config-name your-deployment-config-name \ --deployment-group-name your-deployment-group-name \ --s3-location bucket=codedeploydemobucket,key=WordPressApp.zip,bundleType=zip

Windows의 경우:

aws deploy create-deployment --application-name WordPress_App --deployment-config-name your-deployment-config-name --deployment-group-name your-deployment-group-name --s3-location bucket=codedeploydemobucket,key=WordPressApp.zip,bundleType=zip

자세한 내용은 CodeDeploy 를 사용하여 배포 만들기 단원을 참조하세요.