AWS CodePipeline轮询已禁用,如何恢复自动触发功能?
解决CodePipeline因轮询禁用导致无法自动触发的问题
AWS CodePipeline会自动禁用超过30天未运行的管道的轮询机制,转而推荐基于事件的触发方式,这就是你收到提示的原因。以下是具体解决步骤:
重新配置CloudWatch事件触发规则
打开CloudWatch控制台,进入「事件」>「规则」页面:- 点击「创建规则」,规则类型选「事件模式」
- 事件源选择「AWS服务」,服务名称挑「CodeCommit」,事件类型选「代码提交事件」
- 在「具体详情」里指定你的仓库名,示例格式:
{"detail": {"repositoryName": ["你的仓库名称"]}} - 目标选择「CodePipeline」,填写你的管道ARN,完成规则创建
检查并补充权限
打开IAM控制台,找到CodePipeline对应的服务角色(一般名称带CodePipelineServiceRole):- 确认该角色拥有
codepipeline:StartPipelineExecution权限 - 如果权限缺失,添加如下策略(替换成你的管道ARN):
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codepipeline:StartPipelineExecution", "Resource": "arn:aws:codepipeline:你的区域:账号ID:管道名称" } ] }
同时要确保CloudWatch Events有权限调用这个角色执行触发操作
- 确认该角色拥有
验证触发效果
回到CodePipeline控制台,点击「发布更改」手动触发一次管道运行,之后往CodeCommit仓库提交代码,检查管道是否能自动触发。
内容的提问来源于stack exchange,提问作者whitebear
相关产品推荐
相关产品推荐

