如何在后台 运行 jenkins.war 并使用 cli
How to run jenkins.war in background and use cli
我是 Docker 的新手。我需要完成以下任务:
- 运行 Docker
中的 Jenkins 实例
- 将其配置为在启动时自动安装 JobDSL 插件
我写了Docker文件
FROM java:8
EXPOSE 8080
ADD jenkins.war jenkins.war
ENTRYPOINT ["java","-jar","jenkins.war"]
然后我运行docker run ...
但是有一个问题我不能使用控制台,但我必须使用控制台来安装插件。我试图在最后使用 & 来解决这个问题。它没有帮助。 P.S 我不能使用 jenkins 镜像
Jenkins 使用 JENKINS_HOME 目录存储配置、作业和插件。
一种实现您想要的方法可能是在 运行ning jenkins 之前在此目录中设置插件。
- 如果你使用官方的 jenkins 镜像,那么也许你可以使用一个数据量来存储它,然后 运行 docker 使用这个数据量:
docker run -V /your/data/volume:/var/jenkins_home jenkins/jenkins
- 如果您不想要数据量,而想要带有插件的图像,那么您可以向您的docker文件中添加如下内容:
RUN mkdir -p ~/.jenkins/plugins && \
cd ~/.jenkins/plugins && \
wget http://your/plugins/plugins.jpi
- 最后,您可以通过创建一个 shell 脚本来混合两者,该脚本检查插件目录是否存在,如果不存在,则启动 jenkins。此 shell 脚本将是您的图像入口点。
注意:您需要作为插件下载的文件是 .jpi
文件!不是 .hpi
.
作为参考,这里有一个例子:
FROM java:8
RUN wget https://updates.jenkins-ci.org/download/war/2.121.2/jenkins.war && \
mkdir -p ~/.jenkins/plugins && \
cd ~/.jenkins/plugins && \
wget https://repo.jenkins-ci.org/releases/org/jenkins-ci/plugins/job-dsl/1.33/job-dsl-1.33.jpi
ENTRYPOINT ["java","-jar","jenkins.war"]
我是 Docker 的新手。我需要完成以下任务:
- 运行 Docker 中的 Jenkins 实例
- 将其配置为在启动时自动安装 JobDSL 插件
我写了Docker文件
FROM java:8
EXPOSE 8080
ADD jenkins.war jenkins.war
ENTRYPOINT ["java","-jar","jenkins.war"]
然后我运行docker run ...
但是有一个问题我不能使用控制台,但我必须使用控制台来安装插件。我试图在最后使用 & 来解决这个问题。它没有帮助。 P.S 我不能使用 jenkins 镜像
Jenkins 使用 JENKINS_HOME 目录存储配置、作业和插件。
一种实现您想要的方法可能是在 运行ning jenkins 之前在此目录中设置插件。
- 如果你使用官方的 jenkins 镜像,那么也许你可以使用一个数据量来存储它,然后 运行 docker 使用这个数据量:
docker run -V /your/data/volume:/var/jenkins_home jenkins/jenkins
- 如果您不想要数据量,而想要带有插件的图像,那么您可以向您的docker文件中添加如下内容:
RUN mkdir -p ~/.jenkins/plugins && \
cd ~/.jenkins/plugins && \
wget http://your/plugins/plugins.jpi
- 最后,您可以通过创建一个 shell 脚本来混合两者,该脚本检查插件目录是否存在,如果不存在,则启动 jenkins。此 shell 脚本将是您的图像入口点。
注意:您需要作为插件下载的文件是 .jpi
文件!不是 .hpi
.
作为参考,这里有一个例子:
FROM java:8
RUN wget https://updates.jenkins-ci.org/download/war/2.121.2/jenkins.war && \
mkdir -p ~/.jenkins/plugins && \
cd ~/.jenkins/plugins && \
wget https://repo.jenkins-ci.org/releases/org/jenkins-ci/plugins/job-dsl/1.33/job-dsl-1.33.jpi
ENTRYPOINT ["java","-jar","jenkins.war"]