本安裝教程使用Docker部署Jenkins。Docker宿主機環境Centos7.6。
Centos安裝docker方法自行搜索,或參考https://www.cnblogs.com/qgc1995/p/9553572.html
下面直接開始安裝Jenkins:
一、拉取Jenkins較新鏡像:
$ docker pull jenkins/jenkins |

[root@SY-SUZ-SRV128 secrets]# docker pull jenkins/jenkins Using default tag: latest latest: Pulling from jenkins/jenkins 146bd6a88618: Downloading 9935d0c62ace: Downloading db0efb86e806: Downloading e705a4c4fd31: Downloading 3d3bf7f7e874: Downloading 49371c5b9ff6: Downloading e7873a7ca0fd: Downloading 769e621f8a94: Downloading 37e03f89066c: Downloading 85a2861d8bfe: Downloading 8287e2b85f65: Downloading 45795f77305c: Downloading 420f4df5a335: Downloading 2c08001b0f82: Downloading cb6646354bba: Downloading d86f2fa96e1e: Downloading 577c9805c979: Downloading 7de31f607abc: Downloading latest: Pulling from jenkins/jenkins 146bd6a88618: Pull complete 9935d0c62ace: Pull complete db0efb86e806: Pull complete e705a4c4fd31: Pull complete 3d3bf7f7e874: Pull complete 49371c5b9ff6: Pull complete e7873a7ca0fd: Pull complete 769e621f8a94: Pull complete 37e03f89066c: Pull complete 85a2861d8bfe: Pull complete 8287e2b85f65: Pull complete 45795f77305c: Pull complete 420f4df5a335: Pull complete 2c08001b0f82: Pull complete cb6646354bba: Pull complete d86f2fa96e1e: Pull complete 577c9805c979: Pull complete 7de31f607abc: Pull complete Digest: sha256:d50755231cc671423a4cdb5eedd1099921d51e8390efce786737099769248bb8 Status: Downloaded newer image for jenkins/jenkins:latest docker.io/jenkins/jenkins:latest
這里不要用 "docker pull jenkins",否則會安裝Jenkins 2.6x的版本,各種插件都不支持這個版本,並且在安裝默認插件時各種出錯。
我吃過這樣虧,到docker官網查看后,確認拉錯鏡像:
https://hub.docker.com/r/jenkins/jenkins
二、運行Jenkins容器
$ docker run -d -p 8002:8080 -v ~/jenkins:/var/jenkins_home --name jenkins -u 0 jenkins/jenkins e139003a650a8f44683f2607aa3cb83e274db73d2bc9c037aae9e1d6f40d2904 $ docker ps | grep jenkins e139003a650a jenkins/jenkins "/sbin/tini -- /usr/…" 6 hours ago Up 4 hours 50000/tcp, 0.0.0.0:8002->8080/tcp jenkins |
-d: 守護式容器, -d 后台執行。 -p: 8002表示宿主機端口,映射容器8080端口。訪問Jenkins時可以 http://<宿主機ip>:8002 ~/jenkins : 表示宿主機當前用戶目錄,如果是root用戶則表示/root/jenkins。 /var/jenkins: 表示容器內部絕對路徑。 --name: 表示運行容器的名字。 -u 0: 表示使用jenkins用戶在容器中進行授權操作。 jenkins/jenkins: 容器使用的鏡像。
三、修改Jenkins插件下載地址
cd ~/jenkins/
ll
cp hudson.model.UpdateCenter.xml hudson.model.UpdateCenter.xml.bak
vim hudson.model.UpdateCenter.xml
docker restart jenkins
<?xml version='1.1' encoding='UTF-8'?>
<sites>
<site>
<id>default</id>
<url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url> <--< 修改這里, 修改后重啟Jenkins
</site>
</sites>
四、進入Jenkins WEB頁面
http://<宿主機ip>:8002
需要輸入初始密碼,來源於:
$ cat ~/jenkins/secrets/initialAdminPassword
登錄后實際顯示離線。
解決方法:
注意,只有在這個時候宿主機中才會出現如下目錄: cd ~/jenkins/updates cp default.json default.json.bak vim default.json
將 www.google.com 修改為www.baidu.com, Jenkins在安裝插件時會先校驗系統是否能夠訪問google,在國內沒有vpn訪問不了。
docker restart jenkins <<--重啟Jenkins 后問題解決。
五、安裝建議默認插件
因為第三步我們修改過插件的獲取源為國內地址,因此安裝建議默認插件成功。如果有一些不成功,可以retry。