AWS CodeDeploy에서 최신 배포된 아티팩트 얻기

2848 단어 CodeDeployaws-cliAWS

동기 부여



현재의 최신의 배포가 끝난 아티팩트의 상태를 보고 처리를 나눌 필요가 있어, awscli로 바삭바삭하게 취득할 수 있는지 조사했는데, 아무래도 1발로는 당길 수 없었습니다.
그래서 쉘로 했습니다.

스크립트


#!/bin/bash
APP_NAME=<set application name>
DEPLOYMENT_GROUP=<set deployment group>

DEPLOY_ID=$(aws deploy list-deployments --application-name ${APP_NAME} --deployment-group-name ${DEPLOYMENT_GROUP} --include-only-statuses Succeeded --max-items 1 --query 'deployments[0]' --output text | head -n1)

BUCKET=$(aws deploy get-deployment --deployment-id ${DEPLOY_ID} --query 'deploymentInfo.revision.s3Location.bucket' --output text)
KEY=$(aws deploy get-deployment --deployment-id ${DEPLOY_ID} --query 'deploymentInfo.revision.s3Location.key' --output text)

aws s3 cp s3://${BUCKET}/${KEY} .

s3의 버킷과 키를 각각 취득하기 위해서 api를 2번 부르는 것은 jq에 의존하고 싶지 않았기 때문입니다. sed도 환경에 의존하기 때문에 설명을 생략하기 위해하지 않았습니다.
1발로 정보를 취득한다면 이하로 옮겨놓으면 가능합니다.
aws deploy get-deployment --deployment-id ${DEPLOY_ID} --query 'deploymentInfo.revision.s3Location' --output json

마지막으로



비슷한 상황에서 누군가의 도움이 되었으면 좋겠습니다.
또, 더 스마트하게 갈 수 있어! 그렇다면 가르쳐주세요

좋은 웹페이지 즐겨찾기