[英]Install jenkins plugin from github in dockerfile
我有一个简单的Dockerfile,我安装Jenkins和一些插件:
FROM jenkins/jenkins:2.169-alpine
USER root
RUN apk update \
&& apk add --no-cache curl docker jq tzdata \
&& rm -rf /var/cache/apk/*
COPY plugins.txt /usr/share/jenkins/plugins.txt
RUN /usr/local/bin/install-plugins.sh < /usr/share/jenkins/plugins.txt
现在有一个jenkins插件,我需要包含一个自定义补丁。 已经开放了PR,但它已经好几个月没有合并,我不能再等了,所以我想添加一个步骤从我的github repo的分支安装一个插件。
我发现在jenkins-cli.jar
可用之后(因此,不是在构建时),可以安装hpi
格式的插件:
java -jar /var/jenkins_home/war/WEB-INF/jenkins-cli.jar \\ -auth user:password \\ -s http://localhost:8080 install-plugin file://<HPI_PATH>
但它无法在构建时工作。 如果在dockerfile中不可能,还有替代方案吗?
首先在本地构建plugin.hpi,然后在构建步骤中使用复制或Add in Dockerfile将插件添加到jenkins docker镜像中。
示例添加https://updates.jenkins-ci.org/download/plugins/sonar/2.8.1/sonar.hpi / var / jenkins_home / plugins /
要么
使用本地生成hpi文件安装声纳插件。
复制sonar.hpi / var / jenkins_home / plugins /
挖掘PR之后,我在这里找到了解决方案https://github.com/jenkinsci/docker/pull/799
这不是github的安装,但它会解决
所以你只需要在dockerfile的末尾添加(是root而不是jenkins用户):
RUN /usr/local/bin/install-plugins.sh plugin-name:plugin-version:hpi-url
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.