簡體   English   中英

如何從CodePipeline調用AWS CLI命令?

[英]How to invoke AWS CLI command from CodePipeline?

我想將工件從賬戶1的S3存儲桶復制到賬戶2的S3存儲桶。雖然我能夠設置復制,但是我想知道是否存在從管道內部調用AWS CLI命令的方法。

可以使用Lambda函數調用它嗎? 如果是,則任何小的示例腳本都將有所幫助。

是的,您可以將Lambda Invoke操作添加到管道中以調用copyobject API。 Lambda函數的核心部分如下。

 exports.copyRepoToProdS3 = (event, context) => { const jobId = event['CodePipeline.job'].id const s3Location = event['CodePipeline.job'].data.inputArtifacts[0].location.s3Location const cpParams = JSON.parse(event['CodePipeline.job'].data.actionConfiguration.configuration.UserParameters) let promises = [] for (let bucket of prodBuckets) { let params = { Bucket: bucket, CopySource: s3Location['bucketName'] + '/' + s3Location['objectKey'], Key: cpParams['S3ObjectKey'] } promises.push(s3.copyObject(params).promise()) } return Promise.all(promises) .then((data) => { console.log('Successfully copied repo to buckets!') }).catch((error) => { console.log('Failed to copy repo to buckets!', error) }) } 

可以在以下鏈接中找到將角色添加和報告處理結果添加到CodePipeline的更多詳細步驟。 https://medium.com/@codershunshun/how-to-invoke-aws-lambda-in-codepipeline-d7c77457af95

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM