2017-08-26 76 views
0

我以前曾創造了一個詹金斯使用CodePipeline控制檯建立提供商。在創建過程中,它要求提供一個Jenkins服務器URL。如何更新以前創建的AWS CodePipeline Build Provider?

現在,我需要改變我的詹金斯服務器的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

詹金斯的行動實際上是定義爲您的帳戶custom action。如果您想更新操作配置可以使用create custom action type API定義一個新的版本。您的更改將成爲操作類型的新「版本」,因此您隨後更新管道中的actionTypeId以指向新版本。

一旦你完成了,你也可以delete the old version阻止它出現在動作列表中。

關於Jenkins URL的更改,一個解決方案是設置指向您的Jenkins實例的DNS記錄(例如通過Route53),並在您的操作配置中使用DNS主機名。這樣,您可以在未更新管道的情況下重新映射DNS記錄。

+0

感謝蒂姆。我結束了使用「AWS codepipeline刪除定製動型」,後來創建一個使用「AWS codepipeline創建定製動作型」的一個新的刪除從CLI的自定義操作。在URL更改上,我必須從http更改爲https。所以DNS不是一個選項。儘管非常感謝您的回覆。 –

相關問題