一. Jenkins介紹
Jenkins是當前非常流行的一款持續集成工具,可以幫助大家把更新后的代碼自動部署到服務器上運行。
二. 為什么用docker版的Jenkins
Jenkins主要有三種安裝方式
方式一:
下載官方war包,放到tomcat中直接運行。
方式二:yum安裝,
在linux服務器上安裝Jenkins。
方式三:
使用官方docker鏡像。
本人之前也是使用yum安裝的方式安裝Jenkins的,不過自動用上docker后,就再也沒那樣安裝過。不得不說直接使用docker鏡像真是簡單粗暴無腦。
三. 准備工作
要使用docker鏡像,首先你得先安裝docker。對docker不熟悉,網上有很多教程,可以看看
四. 尋找官方鏡像
我們可以到Jenkins官網上尋找docker鏡像地址。https://www.jenkins.io/download/
點擊docker按鈕,自動跳轉到dockerhub,在這里可以找到下載命令:
docker pull jenkins/jenkins
五. 下載鏡像
找到了官方鏡像后,我們就可以開始安裝了。進入安裝好了docker的linux服務器,輸入命令,下載Jenkins官方鏡像到服務器上。
docker pull jenkins/jenkins
耐心等待下載完成,輸入命令查看下載完成的鏡像
docker images
六,啟動容器
下面就要開始啟動容器了。啟動容器前,建議大家仔細閱讀前面尋找鏡像時Docker Hub上關於jenkins鏡像的詳細說明。
我是mac安裝的
1、為了方便容器內對配置文件進行修改,需要先創建Jenkins掛載目錄並授權權限;
mkdir /home/jenkins
chmod 777 -R /home/jenkins
在鏡像文檔里,我們知道Jenkins訪問的端口號是8080,另外還需要暴露一個tcp的端口號50000。我們使用如下命令啟動Jenkins鏡像。
docker run -u root -d -p 8080:8080 -p 50000:50000 -v /home/jenkins:/var/jenkins_home -v /etc/localtime:/etc/localtime --name jenkins docker.io/jenkins/jenkins
這里逐條解釋下各參數的意義:
docker run :通過鏡像運行容器
-d 后台運行鏡像,以守護線程方式運行。不加該參數,關掉命令行,docker的jenkins就隨之停止了。
-p 8080:8080 將鏡像的8080端口映射到服務器的8080端口
-p 50000:50000 將鏡像的50000端口映射到服務器的50000端口
-v /home/jenkins_home:/var/jenkins_home /var/jenkins_home目錄為jenkins工作目錄,我們將硬盤上的一個目錄掛載到這個位置,方便后續更新鏡像后繼續使用原來的工作目錄。
-v /etc/localtime:/etc/localtime 讓容器使用和服務器同樣的時間設置。
--name jenkins 給容器起一個別名
啟動后輸入命令查看所有容器,可以看到jenkins已成功啟動。
docker ps -a
七. 配置Jenkins
在瀏覽器輸入地址進入Jenkins登錄頁面。頁面會提示你到服務器的指定位置獲取初始化密碼。
http://192.168.111.3:8080/
輸入啟動密碼
注意,因為我們是docker版的jenkins,所以這個路徑不是服務器的路徑,而是容器內的路徑。我們可以通過如下命令從容器中獲取到初始化密碼。
進入容器
# 進入容器
docker exec -it jenkins /bin/bash
# 查看密碼
cat /var/jenkins_home/secrets/initialAdminPassword
85a1f4c94da94d91be9317ba80ae312d
在頁面輸入密碼,點擊Continue,進入插件安裝頁面。
我們點擊左邊的Install suggested plugins,安裝推薦插件就好。
耐心等待安裝完成
安裝好插件后,系統會提示建立管理員賬戶。
ps
docker Jenkins 總是 Exited (137)
我重啟我的虛擬機就好了 ,不知道為什么不是網上說的權限的問題,我的權限已經加了,