我正在使用AWS CLI进行编码。CodeDeploy没有部署最新的修订,而是部署了我手动部署的最后一个修订版。
我已经将版本和ETAG删除了,而不是我的CLI命令。根据文档:
(可选)修订版的Amazon S3版本标识符。(如果是 未指定版本标识符,AWS CodeDeploy将使用最多 最近版本。)
aws deploy create-deployment --application-name MyApp --deployment-config-name CodeDeployDefault.OneAtATime --deployment-group-name MyAppGroup --description "My App" --s3-location bucket=MyAppBucket,bundleType=zip,key=MyApp.zip
,但它不起作用。有任何想法吗?有没有一种方法可以专门执行编码eploy来使用最新的修订版?
有S3生命周期可确保删除较旧的版本,但这充其量是一个黑客。需要有覆盖物,或者只是一种强制迫使它的方法。
默认情况下,如果您在创建部署时未指定版本标识符,则CodeDePloy将尝试根据http://docs.aws.aws.azon默认部署最新的修订版。com/codedeploy/最新/userguide/deployments-create-cli.html。但是,您知道将新的修订版推向S3之后,您会创建部署多长时间?
谢谢Binbin
这是一个单线:
aws deploy list-application-revisions
--sort-by registerTime --sort-order descending
--application-name $MY_APPLICATION_NAME
--region eu-central-1 --s3-bucket $MY_BUCKET
--query 'revisions[0].s3Location.key'
--output text --no-paginate
标志--sort-by registerTime --sort-order descending
对结果进行排序,以便我们可以轻松解析第一个结果(请参阅--query
)。
标志--output text --no-paginate
以纯文本而不是JSON返回结果。--no-paginate
选项在此需要使用CLI,以免返回"无"单词。与结果一起。
--query
标志解析结果,获取s3Location
对象的key
属性,该元素是revisions
数组的第一个元素。