Jenkins系列-docker安装Jenkins

下载镜像
打开终端,输入docker search命令搜索 Docker Hub 上可用的 Jenkins 镜像:

$ docker search jenkins
NAME                    DESCRIPTION                         STARS               OFFICIAL            AUTOMATED
jenkins                 Official Jenkins Docker image       4328                [OK]
jenkins/jenkins         The leading open source automation  1563
jenkinsci/blueocean     https://jenkins.io/project...       399
jenkinsci/jenkins       Jenkins Continuous Integration  …   367
jenkinsci/jnlp-slave    A Jenkins slave using JNLP to…      110                 [OK]
jenkins/jnlp-slave      a Jenkins agent (FKA "slave")  …    86                  [OK]
...

根据镜像OFFICIAL标签判断,位列第一、名字为jenkins的是 Jenkins 官方提供的镜像。我们是不是应该使用这个官方镜像呢?

如果你看过 Jenkins 文档中 Docker 安装 小节,会发现官方推荐使用的镜像是jenkinsci/blueocean,该镜像包含当前的长期支持 (LTS) 的 Jenkins 版本 (可以生产使用) ,并捆绑了所有 Blue Ocean 插件和功能。

第一次安装的时候使用的是jenkins镜像,其集成的 Jenkins 版本比较高,结果出现好多插件不兼容的情况,对于我等小白来说是一件比较麻烦的事。

这里我们果断使用jenkinsci/blueocean镜像,使用docker pull命令拉取:

$ docker pull jenkinsci/blueocean
Using default tag: latest
latest: Pulling from jenkinsci/blueocean
Digest: sha256:523769431f19830cfda7ceae37c59c9f01affb551836933aa30114dcaa5df9eb
Status: Image is up to date for jenkinsci/blueocean:latest

在本地镜像仓库确认是否已存在:

$ docker images
REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
jenkinsci/blueocean   latest              ef2dc74fe285        21 hours ago        552MB
mysql                 latest              990386cbd5c0        2 months ago        443MB
jenkins               latest              cd14cecfdb3a        11 months ago       696MB
...

运行容器
现在,就可以基于下载的镜像运行 Jenkins 容器了,有以下两种运行方式供你参考:

方式一:直接运行,运行期间产生的所有数据都保存在容器内部,容器销毁,数据丢失。

docker run
–name jenkins-blueocean
-d
-p 8081:8080
-p 50001:50000
jenkinsci/blueocean
方式二:Docker 会在宿主机上创建一个数据卷jenkins-data,容器映射该卷以持久化数据。

docker run
–name jenkins-blueocean
-d
-p 8081:8080
-p 50000:50000
-v jenkins-data:/var/jenkins_home
jenkinsci/blueocean
Tips:8081 端口用来公开访问 Web 界面,50000 端口允许访问远程 Java (JIRA) API。

这里我使用了第二种方式启动了 一个 Jenkins 容器应用:

$ docker run
–name jenkins-blueocean
-d
-p 8080:8080
-p 50000:50000
-v jenkins-data:/var/jenkins_home
jenkinsci/blueocean
93f88d6ca2129fae971298e98e20091570f6903463b203a9235660856f63020e
最后使用docker ps命令确认容器是否已经后台运行:

$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0cad9bbe76a6 jenkinsci/blueocean “/sbin/tini – /usr/…” About an hour ago Up About an hour 0.0.0.0:8080->8080/tcp, 0.0.0.0:50000->50000/tcp jenkins-blueocean
配置 Jenkins
以上如果一切正常,现在就可以通过http://:8080访问 Jenkins 的 Web 界面了。

Step1:解锁 Jenkins。
Alt Text

管理员初始密码被放到了/var/jenkins_home/secrets/initialAdminPassword 文件中。

因为我们把 Jenkins 部署在了 Docker 容器中,因此需要先进入到容器,再去查看对应的文件initialAdminPassword内容:

$ docker exec -it jenkins-blueocean /bin/bash
jenkins@93f88d6ca212:/$ cat /var/jenkins_home/secrets/initialAdminPassword
a6f6d08fcc474178833001d1fc79be62
如上输出中,a6f6d08fcc474178833001d1fc79be62 便是我们需要的管理员密码,复制并粘贴到 Web 界面,点击继续即可解锁 Jenkins。

Step2:安装插件。
由于 jenkins 的镜像源是国外的所以再下载插件的时候会非常慢,甚至会超时,所以在安装插件之前,我们要先配置国内镜像:
界面路径:Manager jenkins > manage plugins > advanced > upgrade url
重新填写 URL : https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/current/update-center.json
Jenkins系列-docker安装Jenkins_第1张图片
Jenkins系列-docker安装Jenkins_第2张图片
这样,我们就可以愉快的安装我们需要的插件了。
做为国人,第一个要安装的自然是中文插件:Localization: Chinese (Simplified)
Jenkins系列-docker安装Jenkins_第3张图片
Step3:创建用户。
接着继续下一步操作,提示需要创建一个新的用户,自行填写即可。

Step4:配置实例。
看看提示,没有问题就点 保存并完成 即可。

至此,Jenkins 初始化配置过程也就完成了。正式开启你的 持续集成&持续部署 之旅吧!

你可能感兴趣的:(Jenkins,docker,安装Jenkins)