在安装 Jenkins 之前需要先安装 docker 容器(请自行百度)。
1、docker search jenkins,在 docker 仓库中查找 jenkins 相关的镜像
root@ubuntu:/# docker search jenkinsNAME DESCRIPTION STARS OFFICIAL AUTOMATEDjenkins Official Jenkins Docker image 4938 [OK] jenkins/jenkins The leading open source automation server 2255 jenkinsci/blueocean https://jenkins.io/projects/blueocean 571 jenkinsci/jenkins Jenkins Continuous Integration and Delivery … 383 jenkins/jnlp-slave a Jenkins agent which can connect to Jenkins… 134 [OK]jenkinsci/jnlp-slave A Jenkins slave using JNLP to establish conn… 127 [OK]jenkinsci/slave Base Jenkins slave docker image 65 [OK]
2、docker pull jenkinsci/blueocean,这里我们选择 jenkinsci/blueocean:latest 镜像
root@ubuntu:/# docker pull jenkinsci/blueoceanUsing default tag: latestlatest: Pulling from jenkinsci/blueoceandf20fa9351a1: Pull complete 1cb481a13af0: Pull complete f5efbd400588: Pull complete f2d0037ca04a: Pull complete f50c4373c0c3: Pull complete cfa42149c07e: Pull complete e6784003bb85: Pull complete 73a1e720e18b: Pull complete 2e41633b95a1: Pull complete 83587819eac3: Pull complete 1389b752912a: Pull complete feb326d4942c: Pull complete 05fc0701116d: Pull complete 06a6bc155e06: Pull complete f7d125cf5a16: Pull complete d255d08fc6bb: Pull complete Digest: sha256:96859c83d0a43fa0b93f0532073b7b88e382aae85d197d236eab856c9629afa5Status: Downloaded newer image for jenkinsci/blueocean:latestdocker.io/jenkinsci/blueocean:latestroot@ubuntu:/#
3、docker run 创建启动 jenkins 容器,这里需要注意 jenkins 的端口号是 8080
docker run -d --name zmf_jenkins -u root -p 8090:8080 -p 50000:50000 --restart=always -v /export/jenkins/data:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock --privileged=true jenkinsci/blueocean
root@ubuntu:/# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMEScaecd568c4bf jenkinsci/blueocean "/sbin/tini -- /usr/…" 40 seconds ago Up 39 seconds 0.0.0.0:50000->50000/tcp, 0.0.0.0:8090->8080/tcp zmf_jenkins
4、进入挂载目录下修改 default.json、hudson.model.UpdateCenter.xml 两个配置文件
我们这里挂载目录是 /export/jenkins/data,进入挂载目录可以看到映射的 jenkins 相关文件了
root@ubuntu:/export/jenkins/data# lltotal 124drwxr-xr-x 15 root root 4096 Oct 20 20:10 ./drwxr-xr-x 3 root root 4096 Oct 20 18:24 ../drwxr-xr-x 3 root root 4096 Oct 20 19:45 .cache/-rw-r--r-- 1 root root 475 Oct 20 19:45 com.cloudbees.hudson.plugins.folder.config.AbstractFolderConfiguration.xml-rw-r--r-- 1 root root 1643 Oct 20 19:46 config.xml-rw-r--r-- 1 root root 4323 Oct 20 19:45 copy_reference_file.logdrwxr-xr-x 3 root root 4096 Oct 20 19:45 .groovy/-rw-r--r-- 1 root root 243 Oct 20 20:10 hudson.model.UpdateCenter.xml-rw-r--r-- 1 root root 370 Oct 20 19:45 hudson.plugins.git.GitTool.xml-rw------- 1 root root 1712 Oct 20 19:45 identity.key.encdrwxr-xr-x 3 root root 4096 Oct 20 19:45 .java/-rw-r--r-- 1 root root 7 Oct 20 19:45 jenkins.install.UpgradeWizard.state-rw-r--r-- 1 root root 171 Oct 20 19:45 jenkins.telemetry.Correlator.xmldrwxr-xr-x 2 root root 4096 Oct 20 19:45 jobs/-rw-r--r-- 1 root root 0 Oct 20 19:46 .lastStarteddrwxr-xr-x 4 root root 4096 Oct 20 19:45 logs/-rw-r--r-- 1 root root 907 Oct 20 19:45 nodeMonitors.xmldrwxr-xr-x 2 root root 4096 Oct 20 19:45 nodes/drwxr-xr-x 96 root root 24576 Oct 20 19:45 plugins/-rw-r--r-- 1 root root 64 Oct 20 19:45 secret.key-rw-r--r-- 1 root root 0 Oct 20 19:45 secret.key.not-so-secretdrwx------ 4 root root 4096 Oct 20 19:45 secrets/drwxr-xr-x 2 root root 4096 Oct 20 20:18 updates/drwxr-xr-x 2 root root 4096 Oct 20 19:45 userContent/drwxr-xr-x 3 root root 4096 Oct 20 19:45 users/drwxr-xr-x 11 root root 4096 Oct 20 19:45 war/drwxr-xr-x 2 root root 4096 Oct 20 19:45 workflow-libs/root@ubuntu:/export/jenkins/data#
- 修改 hudson.model.UpdateCenter.xml 配置文件
把 https://updates.jenkins.io/update-center.json 改成 http://mirror.xmission.com/jenkins/updates/update-center.json
root@ubuntu:/export/jenkins/data# root@ubuntu:/export/jenkins/data# cat hudson.model.UpdateCenter.xml <?xml version='1.1' encoding='UTF-8'?>defaulthttp://mirror.xmission.com/jenkins/updates/update-center.jsonroot@ubuntu:/export/jenkins/data#
- 修改 updates/default.json 配置文件
把 "connectionCheckUrl":"http://www.google.com/" 改成 "connectionCheckUrl":"http://www.baidu.com/"
5、重启 jenkins 容器,docker restart zmf_jenkins
6、访问 jenkins
- 第一次会要求输入初始密码,如下输入框
我们可以在挂载目录 /export/jenkins/data 中找到 secrets/initialAdminPassword 文件,从中找到初始管理员密码;
root@ubuntu:/export/jenkins/data/secrets# root@ubuntu:/export/jenkins/data/secrets# cat initialAdminPassword ef2b3dd774ce4348a80338a4894208feroot@ubuntu:/export/jenkins/data/secrets#