我想在本地 Jenkins 中安装已经在其他 Jenkins 上安装的相同插件。
希望避免手动安装所有 50-60 个插件。
希望避免手动安装所有 50-60 个插件。
有关安装插件的Jenkins官方文档提供了两种安装插件的方法:
*.hpi
/*.jpi
文件保存到$JENKINS_HOME/plugins
目录中。所以我的答案是:将服务器A上的$JENKINS_HOME/plugins
目录复制到服务器B上。
别忘了之后重新启动Jenkins!
如果您正在Docker容器中使用Jenkins,那么有另一种理想的方法。首先需要在终端中针对Jenkins域运行curl来提取已安装插件的列表:
export JENKINS_URL=http://<jenkins_domain>
curl -sSL "$JENKINS_URL/pluginManager/api/xml?depth=1&xpath=/*/*/shortName|/*/*/version&wrapper=plugins" | perl -pe 's/.*?<shortName>([\w-]+).*?<version>([^<]+)()(<\/\w+>)+/\1 \2\n/g'|sed 's/ /:/'
aws-credentials:1.15
aws-beanstalk-publisher-plugin:1.6.0
aws-java-sdk:1.10.45.2
然后,您可以运行此脚本来安装所有导出的插件或将其添加到Dockerfile的末尾,如下所示:
# copy script to container's bin
ADD ./plugin.sh /usr/local/bin/plugins.sh
# copy plugins list to inside the container
COPY plugins.txt /plugins.txt
# runs it
RUN /usr/local/bin/plugins.sh /plugins.txt
记得在执行此操作之前导出您的JENKINS_HOME变量。