Docker版本Jenkins的安裝


一. 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)
我重啟我的虛擬機就好了 ,不知道為什么不是網上說的權限的問題,我的權限已經加了,


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM