AWS CodePipeline构建错误

时间:2016-10-03 18:07:31

标签: amazon-web-services jenkins amazon-ec2

我创建了一个AWS CodePipeline管道,用于从Github获取,使用Jenkins构建,并部署到ElasticBeanstalk项目。我可以直接将war部署到beanStack并验证。

当我尝试从CodePipeLine执行相同操作时,我在Jenkins的AWS CodePipeline轮询日志中看到以下错误 -

  

错误:无法记录hudson.model.FreeStyleProject@ae44565e6 [AppPortal]的SCM轮询   com.amazonaws.services.codepipeline.model.ActionTypeNotFoundException:ActionType(类别:'Build',所有者:'Custom',提供者:'MPiplelineProvider',版本:'1')不可用(服务:AWSCodePipeline;状态代码:400 ;错误代码:ActionTypeNotFoundException;请求ID:e35456561d-999f-56e7-3rgf-75985675533b3)       在com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:1401)       在com.amazonaws.http.AmazonHttpClient.executeOneRequest(AmazonHttpClient.java:945)       在com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:723)       在com.amazonaws.http.AmazonHttpClient.doExecute(AmazonHttpClient.java:475)       在com.amazonaws.http.AmazonHttpClient.executeWithTimer(AmazonHttpClient.java:437)       在com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:386)       在com.amazonaws.services.codepipeline.AWSCodePipelineClient.doInvoke(AWSCodePipelineClient.java:2078)

我已将SCM投票设置为* * * * *以进行测试。

构建后操作 - AWS CodePipeline发布者 - 位置 - 目标/ AppPortal

我在jenkins中只安装了AWS Codepipeline pulgin。

你能让我知道我错过了什么。

由于

2 个答案:

答案 0 :(得分:1)

您是否在CodePipeline中注册Jenkins自定义操作类型,在您正在轮询的同一区域?

检查您的Jenkins作业配置:

  • AWS Region
  • 分类
  • 提供商

从错误消息中:

ActionType (Category: 'Build', Owner: 'Custom', Provider: 'MPiplelineProvider', Version: '1')

然后使用AWS CLI列出该区域中的自定义操作类型,并确保类别,提供程序和版本匹配:

aws codepipeline list-action-types --action-owner-filter Custom --region us-west-2

如果您通过AWS控制台创建了Jenkins操作类型,则它应具有以下值:

ActionType (Category: 'Build', Owner: 'Custom', Provider: 'Jenkins', Version: '1')

如果是这种情况,将Jenkins作业提供程序从 MPiplelineProvider 更新为 Jenkins 可以解决您的问题。

答案 1 :(得分:0)

在我们的场景中: 触发:将Jenkins主服务器(ec2)移到负载均衡器后面。

症状:更新所有安全组设置后,我们开始遇到相同的错误(如上所述),这样负载平衡器就不会受到干扰。

分辨率:

在Jenkins(ec2)框中,我们删除了“项目”,并使用与以前完全相同的设置(包括名称)重新创建了该项目。这使Jenkins可以重新连接到Code Pipeline,作业又可以开始工作了。

以下是代码管线阶段操作设置:

{ “ inputArtifacts”:[], “ name”:“ foobar-test”, “ region”:“ us-west-2”, “ actionTypeId”:{ “ category”:“ Test”, “所有者”:“自定义”, “ version”:“ 1”, “ provider”:“ foobar-provider” }, “ outputArtifacts”:[], “配置”:{ “ ProjectName”:“ foobar-api-qa-aws_trigger” }, “ runOrder”:1