当前位置: 首页 > 知识库问答 >
问题:

从AWS管道开始对Jenkins上的作业问题进行轮询

房时铭
2023-03-14

我面临詹金斯的以下问题。我正在做的是,我已经在AWS上设置了一个管道,它在部署等方面都运行良好。我已经在服务器上单独设置了一个Jenkins项目,用于测试API测试用例。

我正在做的是将Jenkins服务器连接到AWS的构建阶段。一切似乎都很顺利,但在Jenkins服务器上,我发现了以下问题。

为了简单起见,我只是尝试在变量中执行日期,然后打印(echo)并注释掉最初运行的脚本命令。在buildexecuteshell区域中,只写入以下两个命令。

now='date”%Y-%m-%d-%H%m%S''echo$now

[AWS CodePipeline Plugin]轮询操作类型id的作业:[所有者:自定义,类别:测试,提供程序:Jenkins_11月,版本:1,项目名称:Chiragh_测试]错误:无法记录hudson的SCM轮询。模型FreeStyleProject@5f5daea6[Chiragh_Tests]com。亚马逊。AmazonServiceException:无法在com上使用提供的解组器(服务:AWSCodePipeline;状态代码:404;错误代码:null;请求ID:null)解组异常响应。亚马逊。http。AmazonHttpClient$RequestExecutor。handleErrorResponse(AmazonHttpClient.java:1799)位于com。亚马逊。http。AmazonHttpClient$RequestExecutor。handleServiceErrorResponse(AmazonHttpClient.java:1383)位于com。亚马逊。http。AmazonHttpClient$RequestExecutor。com上的executeOneRequest(AmazonHttpClient.java:1359)。亚马逊。http。AmazonHttpClient$RequestExecutor。com上的executeHelper(AmazonHttpClient.java:1139)。亚马逊。http。AmazonHttpClient$RequestExecutor。doExecute(AmazonHttpClient.java:796)位于com。亚马逊。http。AmazonHttpClient$RequestExecutor。在com上执行计时器(AmazonHttpClient.java:764)。亚马逊。http。AmazonHttpClient$RequestExecutor。在com上执行(AmazonHttpClient.java:738)。亚马逊。http。AmazonHttpClient$RequestExecutor。在com上访问$500(AmazonHttpClient.java:698)。亚马逊。http。AmazonHttpClient$RequestExecutionBuilderImpl。在com上执行(AmazonHttpClient.java:680)。亚马逊。http。AmazonHttpClient。在com上执行(AmazonHttpClient.java:544)。亚马逊。http。AmazonHttpClient。在com上执行(AmazonHttpClient.java:524)。亚马逊。服务。代码管道。AWSCodePipelineClient。doInvoke(AWSCodePipelineClient.java:3040)位于com。亚马逊。服务。代码管道。AWSCodePipelineClient。在com上调用(AWSCodePipelineClient.java:3007)。亚马逊。服务。代码管道。AWSCodePipelineClient。在com上调用(AWSCodePipelineClient.java:2996)。亚马逊。服务。代码管道。AWSCodePipelineClient。在com上执行jobs(AWSCodePipelineClient.java:1990)。亚马逊。服务。代码管道。AWSCodePipelineClient。com上的pollForJobs(AWSCodePipelineClient.java:1961)。亚马逊。代码管道。詹金斯。AWSCodePipelineSCM。com上的pollForJobs(AWSCodePipelineSCM.java:255)。亚马逊。代码管道。詹金斯。AWSCodePipelineSCM。在hudson将远程修改与(AWSCodePipelineSCM.java:191)进行比较。供应链管理。供应链管理。在哈德逊投票(SCM.java:418)。模型抽象项目_hudson的民意测验(AbstractProject.java:1388)。模型抽象项目。hudson的民意测验(AbstractProject.java:1291)。触发器。SCMTrigger$Runner。hudson的runPolling(SCMTrigger.java:606)。触发器。SCMTrigger$Runner。在哈德逊运行(SCMTrigger.java:652)。util。SequentialExecutionQueue$QueueEntry。在java上运行(SequentialExecutionQueue.java:119)。util。同时发生的遗嘱执行人$runnableapter。在java上调用(Executors.java:511)。util。同时发生的未来任务。在java上运行(FutureTask.java:266)。util。同时发生的线程池执行器。java上的runWorker(ThreadPoolExecutor.java:1149)。util。同时发生的线程池执行器$Worker。在java上运行(ThreadPoolExecutor.java:624)。朗。丝线。运行(Thread.java:748)

共有1个答案

沈飞翔
2023-03-14

在我看来,要么Jenkins服务器无法连接到CodePipeline服务,要么Jenkins服务器对AWS SDKJava缺少依赖。

您能否通过SSH连接到Jenkins服务器并运行以下AWS CLI命令来确认与CodePipeline服务的连接:

aws codepipeline poll-for-jobs --action-type-id=category=Test,owner=Custom,provider=Jenkins_November,version=1

SSHLinux服务器

安装AWS CLI

 类似资料:
  • 我使用Jenkins和Build Pipeline插件来构建一些相当复杂的项目,这些项目需要多个编译步骤: 构建源RPM。 构建二进制RPM(这是执行两次,一次为每个平台)。 部署到YUM仓库。 我解决构建需求的策略包括将公共工作拆分为参数化作业,这些作业可以跨项目和分支重用,每个作业代表管道中的一个阶段。每个阶段都由参数触发,并将构建工件传递给管道中的下一个作业。然而,我在这个策略上遇到了一些麻

  • 作为jenkins-pipeline-syntax-for-p4sync的延续,我无法让“轮询SCM”选项用于我的管道作业。以下是我的配置: "Poll SCM"被选中并设置为每10分钟轮询一次 管道脚本包含以下内容:

  • 问题内容: 我需要在构建开始之前清除工作空间。我尝试分阶段使用,但在声明性管道中,检出首先发生,而在运行阶段时,检出的代码也会被清除,这是不希望的。在声明式管道中签出之前,我们如何清除工作空间? 问题答案: 在Git运行时使用VCS的方法

  • 问题内容: 我想在管道作业中使用EnvInject插件。因此,我可以设置复选框“为运行准备一个环境”,但是 没有动作“注入环境变量”,就像在自由式作业中一样。我在“属性内容”块中声明了变量:在此处输入图片说明 如何使用EnvInject在管道作业中注​​入环境变量? 问题答案: 如果在“属性内容”块中声明了以下变量: 然后,您可以将它们放入管道中,以便:

  • 我正在编写一个Groovy脚本,其中包含部署terraform的作业。我正在使用作业DSL并使种子作业由JCasC实现,一切正常。然后我有一个包含作业的Groovy文件的存储库。 如果我将Groovy文件保持为单个作业,它就可以正常工作。 然而,我希望能够构建具有构建阶段的管道。我知道我可以把管道写在詹金斯文件中 我有这个作为开始: 但是,我看到了这个错误: 我已经尝试了各种方法,并阅读了一堆文档

  • 我必须跳过一些基于git提交消息的jenkins构建。所以我搜索并找到了这个jenkins插件。但是我无法在多分支管道作业中配置启用ci-skip。此选项在多分支管线设置中不可用。 有没有办法在多分支jenkins管道中配置这个[ci skip]? 它在jenkinsfile中可用吗?或者是否可以防止jenkins基于jenkinsfile中的提交消息构建?