Jenkins 2覆盖了plugins.txt

时间:2016-12-21 15:54:18

标签: jenkins continuous-integration jenkins-plugins continuous-delivery jenkins-2

我从Jenkins 1.6迁移到Jenkins 2.0。我正在使用docker来创建和运行Jenkins。

为了配置为不可变的jenkins,我们用来复制所有xml配置文件并使用plugins.txt来安装所有必要的插件。

但现在的问题是,在我们启动Jenkins并且我连接之后,我只看到一个向导屏幕,它要求我输入管理员密码,这是一个路径。 在输入密码后,他要求安装插件,我原本希望安装插件。

一旦我完成了该向导,我没有安装任何插件我的plugins.txt列表,或者我在users文件夹中传递了任何用户。

知道怎么解决这个问题吗?在詹金斯1.6一切正常。

1 个答案:

答案 0 :(得分:2)

你把plugins.txt放在哪里? 构建图像时,plugins.txt的内容将安装在jenkins中。因此,您需要使用自己的dockerfile重建jenkins:2.0

FROM jenkins:2.0
COPY plugins.txt /usr/share/jenkins/plugins.txt
RUN /usr/local/bin/plugins.sh /usr/share/jenkins/plugins.txt

plugins.txt脚本放在同一文件夹中。 我的plugins.txt

的内容
greenballs:1.15

使用docker build -t my-jenkins:2.0 .

构建您的图片

我不知道你是如何迁移你的工作但我会想到删除旧的jenkins容器,但保留持久的docker卷(或你正在挂载的主机上的映射文件夹)。但是在新jenkins构建之后,使用-v选项启动jenkins绑定到旧卷。

$ docker run -d -v /content-folder:/var/jenkins_home -p 8080:8080 my-jenkins:2.0

Jenkins将从已安装的插件+ 1.6配置的内容开始。

我只能使用插件测试该部件,它对我有用。 docker build我执行docker run -d -p 8080:8080 my-jenkins:2.0之后。检查该容器的docker logs以获取initialAdminPassword。没有在编辑器中安装任何插件并创建了一个作业。在成功运行后,我看到了绿球而不是蓝色。