에 대한 개정을 Amazon S3 CodeDeploy 로 푸시(EC2/온프레미스 배포만 해당) - AWS CodeDeploy

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

에 대한 개정을 Amazon S3 CodeDeploy 로 푸시(EC2/온프레미스 배포만 해당)

에 설명된 대로 개정을 계획수정 계획 수립 CodeDeploy하고 에 설명된 대로 개정에 AppSpec 파일을 추가의 수정본에 응용 프로그램 사양 파일 추가 CodeDeploy하면 구성 요소 파일을 번들링하고 개정을 Amazon S3로 푸시할 준비가 된 것입니다. Amazon EC2 인스턴스에 배포하는 경우 개정을 푸시한 후 CodeDeploy 를 사용하여 Amazon S3에서 인스턴스로 개정을 배포할 수 있습니다.

참고

CodeDeploy 는 로 푸시된 개정을 배포하는 데도 사용할 수 있습니다 GitHub. 자세한 내용은 GitHub 설명서를 참조하세요.

AWS CLI을(를) 설정하기 위해 시작하기 CodeDeploy의 지침을 이미 따른 것으로 가정합니다. 이는 특히 추후에 설명되는 push 명령을 호출하는 데 중요합니다.

Amazon S3 버킷이 있는지 확인합니다. 버킷 생성의 지침을 따릅니다.

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

또한 Amazon S3 버킷으로 업로드할 수 있는 권한이 있어야 합니다. Amazon S3 버킷 정책을 통해 이러한 권한을 지정할 수 있습니다. 예를 들어 다음 Amazon S3 버킷 정책에서 와일드카드 문자(*)111122223333를 사용하면 AWS 계정이 라는 Amazon S3 버킷의 모든 디렉터리에 파일을 업로드할 수 있습니다amzn-s3-demo-bucket.

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

AWS 계정 ID를 보려면 AWS 계정 ID 찾기를 참조하세요.

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

push 명령을 호출하는 사용자는 최소한 각 대상 Amazon S3 버킷에 개정을 업로드할 수 있는 권한이 있어야 합니다. 예를 들어 다음 정책은 사용자가 amzn-s3-demo-bucket이라는 Amazon S3 버킷의 어디에나 개정을 업로드할 수 있도록 허용합니다.

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

IAM 정책을 생성하고 연결하는 방법을 알아보려면 정책 작업을 참조하세요.

를 사용하여 개정 푸시 AWS CLI

참고

push 명령은 애플리케이션 아티팩트와 AppSpec 파일을 개정으로 번들링합니다. 이 개정의 파일 형식은 압축된 ZIP 파일입니다. AWS Lambda 또는 Amazon ECS 배포에서는 명령을 사용할 수 없습니다. 각 명령은 JSON형식이 지정되거나 YAML형식이 지정된 AppSpec 파일인 개정을 예상하기 때문입니다.

push 명령을 호출하여 배포에 대한 개정을 번들링하고 푸시합니다. 해당 파라미터는 다음과 같습니다.

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

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

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

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

  • --description (문자열) 선택 사항. 애플리케이션 개정을 요약하는 설명. 지정하지 않으면 기본 문자열 'Uploaded by AWS CLI 'time' UTC'이 사용됩니다. 여기서 'time'은 Coordinated Universal Time()의 현재 시스템 시간입니다UTC.

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

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://amzn-s3-demo-bucket/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://amzn-s3-demo-bucket/WordPressApp.zip --source .

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

  • 번들링된 파일을 WordPress_App이라는 애플리케이션과 연결합니다.

  • 개정에 설명을 첨부합니다.

  • 숨겨진 파일을 무시합니다.

  • 개정을 WordPressApp.zip으로 지정하고 amzn-s3-demo-bucket이라는 버킷으로 푸시합니다.

  • 루트 디렉토리의 모든 파일을 개정으로 번들링합니다.

푸시가 성공하면 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=amzn-s3-demo-bucket,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=amzn-s3-demo-bucket,key=WordPressApp.zip,bundleType=zip

자세한 내용은 를 사용하여 배포 생성 CodeDeploy 섹션을 참조하세요