簡體   English   中英

通過 CloudFormation 將 AWS CodePipeline 操作添加到現有管道

[英]Add AWS CodePipeline action to existing pipeline via CloudFormation

我制作了一個 CodePipeline 管道 CloudFormation 模板並將其部署為堆棧。 我想通過另一個 CloudFormation 堆棧向這個現有管道添加一個操作。

從文檔中,我只能看到允許我創建一個全新堆棧的管道資源,而不是通過提供 ARN 或類似的東西來編輯現有堆棧。 也沒有粒度資源支持 CodePipeline 功能,例如操作。 請參閱下面的 URL:

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html

有誰知道我怎么能做到這一點? 從外觀上看,我會說我必須更新管道的模板,添加新操作。 假設這是唯一的方法,如何從另一個 CloudFormation 堆棧實現這一點?

因此,模板將被配置為在管道模板中添加新操作,然后觸發管道堆棧的更新。 我猜我必須使用 CloudFormation 宏並將管道模板存儲在 s3 中。 然后我將模板從 s3 中取出,添加操作,保存更改,然后呢? 我還考慮了如何使用嵌套堆棧或 Import 宏。

謝謝你的幫助!

@Marcin 啟發了我這個解決方案。 謝謝:)

基本上我是這樣做的:

首先,我創建了一個“更改”管道,該管道采用在構建階段修改的堆棧模板,我最初想在部署操作中跨多個堆棧部署,並將其寫入 s3 存儲桶中的路徑。

其次,我創建了一個“部署”管道,該管道使用指向“更改”管道的 output 的 s3 路徑。 此管道包含使用輸出模板的 SourceArtifact 的部署操作。 這本質上是我在“更改”管道中想要的部署操作。

我現在為“部署”管道創建了一個 CFN 模板,允許我創建指向不同堆棧的任意數量的“部署”管道。 當“更改”管道被觸發時,它的 output 會觸發所有“部署”管道。 我的批准和測試過程進入“更改”管道以避免垃圾郵件,我可以毫無問題地回滾。

暫無
暫無

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

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