如何更新以前创建的AWS CodePipeline Build Provider?

时间:2017-08-26 22:46:20

标签: amazon-web-services jenkins aws-codepipeline

我之前使用CodePipeline控制台创建了一个Jenkins构建提供程序。在创建过程中,它会要求提供Jenkins服务器URL。

现在,我需要更改我的Jenkins服务器URL,但是当我尝试编辑时,没有任何选项可以更改构建提供程序。见下面的快照:

enter image description here

我看到的唯一解决方案是添加一个新解决方案。

我尝试使用aws-cli获取管道,

aws codepipeline get-pipeline --name <pipeline-name>

但是JSON响应只是引用了构建提供程序:

        ...
        },
        {
            "name": "Build",
            "actions": [
                {
                    "inputArtifacts": [
                        {
                            "name": "APIServer"
                        }
                    ],
                    "name": "Build",
                    "actionTypeId": {
                        "category": "Build",
                        "owner": "Custom",
                        "version": "1",
                        "provider": "jenkins-api-server"
                    },
                    "outputArtifacts": [
                        {
                            "name": "APIServerTarball"
                        }
                    ],
                    "configuration": {
                        "ProjectName": "api-server-build"
                    },
                    "runOrder": 1
                }
            ]
        },
        {

我找不到任何其他命令来管理构建提供程序。所以我的问题是我应该在何处以及如何更新AWS CodePipeline中现有的构建提供程序配置?

1 个答案:

答案 0 :(得分:1)

Jenkins操作实际上定义为您帐户中的custom action。如果要更新操作配置,可以使用create custom action type API定义新版本。您的更改将是一个新的&#34;版本&#34;操作类型,然后更新管道中的actionTypeId以指向新版本。

完成后,您还可以delete the old version阻止它出现在操作列表中。

关于Jenkins URL更改,一个解决方案是设置指向Jenkins实例的DNS记录(例如,通过Route53)并在操作配置中使用DNS主机名。这样,您可以在不更新管道的情况下重新映射DNS记录。