如何更新以前创建的AWS CodePipeline Build Provider?
问题描述:
我以前曾创造了一个詹金斯使用CodePipeline控制台建立提供商。在创建过程中,它要求提供一个Jenkins服务器URL。如何更新以前创建的AWS CodePipeline Build Provider?
现在,我需要改变我的詹金斯服务器的URL,但是当我尝试编辑,没有任何选项更改构建提供商。请参见下面的快照:
我看到的唯一的解决办法是增加一个新的。
我尝试使用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中的现有构建提供程序配置?
答
詹金斯的行动实际上是定义为您的帐户custom action。如果您想更新操作配置可以使用create custom action type API定义一个新的版本。您的更改将成为操作类型的新“版本”,因此您随后更新管道中的actionTypeId以指向新版本。
一旦你完成了,你也可以delete the old version阻止它出现在动作列表中。
关于Jenkins URL的更改,一个解决方案是设置指向您的Jenkins实例的DNS记录(例如通过Route53),并在您的操作配置中使用DNS主机名。这样,您可以在未更新管道的情况下重新映射DNS记录。
感谢蒂姆。我结束了使用“AWS codepipeline删除定制动型”,后来创建一个使用“AWS codepipeline创建定制动作型”的一个新的删除从CLI的自定义操作。在URL更改上,我必须从http更改为https。所以DNS不是一个选项。尽管非常感谢您的回复。 –