如何以编程方式向 jenkins 添加插件
How to add plugins to jenkins programmatically
我试图找到一种以编程方式向 Jenkins 添加插件的方法,发现 this 答案很有用。它显示了使用以下 curl 命令并在之后重新启动 Jenkins 的方法。
curl -X POST -d '<jenkins><install plugin="plugin-name@version" /></jenkins>' --header 'Content-Type: text/xml' http://localhost:8080/pluginManager/installNecessaryPlugins
它对许多插件都成功运行,但对某些插件(如 Pipeline 和 Amazon EC2)却失败了。下面是我用来安装 Pipeline 插件的命令。
curl -X POST -d '<jenkins><install plugin="Pipeline@2.6" /></jenkins>' --header 'Content-Type: text/xml' http://localhost:8080/pluginManager/installNecessaryPlugins
我该如何解决这个问题?
您需要在请求中指定plugin-id
。
您可以在 https://plugins.jenkins.io 上找到您的插件并从描述中获得 plugin-id
。
例如声明式管道插件 (https://plugins.jenkins.io/pipeline-model-definition) 的 ID pipeline-model-definition
Pipeline: Declarative1.3.9
Minimum Jenkins requirement: 2.150.1
ID: pipeline-model-definition
我试图找到一种以编程方式向 Jenkins 添加插件的方法,发现 this 答案很有用。它显示了使用以下 curl 命令并在之后重新启动 Jenkins 的方法。
curl -X POST -d '<jenkins><install plugin="plugin-name@version" /></jenkins>' --header 'Content-Type: text/xml' http://localhost:8080/pluginManager/installNecessaryPlugins
它对许多插件都成功运行,但对某些插件(如 Pipeline 和 Amazon EC2)却失败了。下面是我用来安装 Pipeline 插件的命令。
curl -X POST -d '<jenkins><install plugin="Pipeline@2.6" /></jenkins>' --header 'Content-Type: text/xml' http://localhost:8080/pluginManager/installNecessaryPlugins
我该如何解决这个问题?
您需要在请求中指定plugin-id
。
您可以在 https://plugins.jenkins.io 上找到您的插件并从描述中获得 plugin-id
。
例如声明式管道插件 (https://plugins.jenkins.io/pipeline-model-definition) 的 ID pipeline-model-definition
Pipeline: Declarative1.3.9
Minimum Jenkins requirement: 2.150.1
ID: pipeline-model-definition