docker下的Jenkins安裝和體驗【轉】

原文地址:http://blog.csdn.net/boling_cavalry/article/details/78942408java

做爲一款優秀的持續集成工具,jenkins在平常的項目中常常會用到,本次實戰咱們在docker下快速搭建一個Jenkins服務,並體驗其項目構建能力;python

實戰環境

windows、mac、linux等系統,只要裝了docker服務均可以做爲實戰環境,我用的是ubuntu16,安裝的docker版本是:17.03.2-ce;linux

準備文件映射路徑

jenkins的容器啓動後,重要的文件咱們但願能保存在當前電腦,不然容器被損壞或者刪除後就找不回這些文件了,所以要在當前電腦上準備一個目錄做爲文件映射,注意文件夾權限問題,我這邊準備的本機目錄是/usr/local/work/jenkins,而且執行了chmod 777 /usr/local/work/jenkins以確保docker進程有權限讀寫此目錄;git

啓動容器

  • 在控制檯執行如下命令,docker會去hub.docker.com下載最新的jenkins官方鏡像,而後啓動一個名爲j01的容器,而且將容器的8080和50000端口直接映射到本機的8080和50000端口:
docker run -p 8080:8080 -p 50000:50000 -v /usr/local/work/jenkins:/var/jenkins_home --name j01 -idt jenkins

 

  • 執行命令docker logs -f j01查看容器的控制檯日誌,看到以下信息表示jenkins服務啓動成功:
Dec 31, 2017 6:29:24 AM jenkins.install.SetupWizard init
INFO: 

************************************************************* ************************************************************* ************************************************************* Jenkins initial setup is required. An admin user has been created and a password generated. Please use the following password to proceed to installation: f0f2e35d549f49b486b0ca2bdf3756d6 This may also be found at: /var/jenkins_home/secrets/initialAdminPassword ************************************************************* ************************************************************* ************************************************************* Dec 31, 2017 6:29:29 AM hudson.model.UpdateSite updateData INFO: Obtained the latest update center data file for UpdateSource default Dec 31, 2017 6:29:30 AM hudson.model.DownloadService$Downloadable load INFO: Obtained the updated data file for hudson.tasks.Maven.MavenInstaller Dec 31, 2017 6:29:30 AM hudson.model.UpdateSite updateData INFO: Obtained the latest update center data file for UpdateSource default Dec 31, 2017 6:29:30 AM hudson.WebAppMain$3 run INFO: Jenkins is fully up and running --> setting agent port for jnlp --> setting agent port for jnlp... done Dec 31, 2017 6:29:33 AM hudson.model.DownloadService$Downloadable load INFO: Obtained the updated data file for hudson.tools.JDKInstaller Dec 31, 2017 6:29:33 AM hudson.model.AsyncPeriodicWork$1 run INFO: Finished Download metadata. 11,856 ms

 

訪問服務

  • 個人LINUX電腦IP是192.168.119.155,在瀏覽器輸入http://192.168.119.155:8080,便可訪問到jenkins的服務,因爲密碼尚未設置,將會看到下圖信息: 
    這裏寫圖片描述
    github

  • 頁面提示密碼文件的位置:/var/jenkins_home/secrets/initialAdminPassword,因爲咱們已經將/var/jenkins_home目錄映射到本機的/usr/local/work/jenkins目錄,因此密碼文件在當前電腦的位置是:/usr/local/work/jenkins/secrets/initialAdminPassword;web

  • 打開此文件後發現只有一行內容,複製後粘貼到頁面惟一的輸入框中,再點擊右下角的」Continue」按鈕;spring

  • 在等待頁面停留數十秒後,出現如下頁面,左邊按鈕是直接安裝推薦的插件配置,右邊按鈕是本身選擇所需的插件,這裏咱們點擊左邊按鈕,把推薦的插件裝了: 
    這裏寫圖片描述
    docker

  • 以下圖,jenkins開始逐個安裝插件: 
    這裏寫圖片描述
    shell

  • 以下圖,提示建立一個管理員,填寫完相關信息並提交,就能夠使用jenkins服務了: 
    這裏寫圖片描述
    ubuntu

安裝maven

點擊「系統管理」 -> 「Global Tool Configuration」,以下圖: 
這裏寫圖片描述

新建一個maven,填寫完畢後點擊底部的」Apply」再點擊「保存」,記得勾選「自動安裝」,以下圖: 
這裏寫圖片描述

安裝mave插件

點擊「系統管理」 -> 管理插件」,以下圖: 
這裏寫圖片描述

選中第二個tab」可選插件」,在右上角輸入框中輸入「Maven Integration plugin」,頁面上就會顯示出」Maven Integration plugin」這個插件,勾選後點擊下面的「直接安裝」按鈕,便可安裝maven插件,以下圖: 
這裏寫圖片描述

配置SSH登陸github

後面的實戰中,咱們會將代碼放到github上,因此此處要作ssh登陸的配置,假設您在git上的註冊郵箱是」abcdef@gmail.com」,帳號是」abcdef」,您須要執行如下步驟:

  • 在控制檯執行如下命令登陸到jenkins容器:
docker exec -it j01 /bin/bash

 

  • 登陸到容器後,執行如下命令產生SSH證書:
ssh-keygen -t rsa -C "abcdef@gmail.com"

 

會出現幾個詢問,直接按回車鍵繼續;

  • 執行如下命令配置全局用戶信息的帳號:
git config --global user.name "abcdef"

 

  • 執行如下命令配置全局用戶信息的郵箱:
git config --global user.email abcdef@gmail.com

 

  • 公鑰被存儲到如下位置,打開復制全部內容,而後登陸git,添加到SSH keys中:
/var/jenkins_home/.ssh/id_rsa.pub

 

至此,git配置就完成了,接下來咱們建立一個任務,來試試項目項目構建的功能;

git項目

爲了體驗jenkins自動拉取代碼和構建項目,我在git上準備了一個spring boot的web工程,內容很簡單隻有一個controller,地址是:git@github.com:zq2599/jenkinsdemo.git

構建maven項目

回到主頁,新建一個任務,選擇」構建一個maven項目」,以下圖:

這裏寫圖片描述

新的頁面中,「源碼管理」位置選擇」Git」,在」Repository URL」位置輸入工程地址」git@github.com:zq2599/jenkinsdemo.git」,再點擊「Add」按鈕,選擇」Jenkins」,以下圖:

這裏寫圖片描述

在彈出的頁面中輸入git登陸的信息,注意選擇SSH登陸,用戶名要用生成SSK KEY的時候的參數,以下圖: 
這裏寫圖片描述

配置完成後,依次點擊最下面的」Apply」和」保存」兩個按鈕,完成存檔並退出編輯頁面;

構建

以下圖紅框所示,在任務列表頁面,點擊任務名稱,進入任務詳情頁: 
這裏寫圖片描述

在任務詳情頁,以下圖紅框所示,點擊「當即構建」: 
這裏寫圖片描述

此時項目就開始構建了,若是想看清楚具體的執行狀況,能夠點擊下圖中的紅框位置,會跳轉到控制檯信息輸出的頁面: 
這裏寫圖片描述

若是git配置正確,而且web工程自己能夠編譯成功,那麼會看到控制檯頁面提示的構建成功信息,以下圖: 
這裏寫圖片描述

驗證構建結果

爲了驗證構建結果,咱們能夠去把編譯jar包下載下載試試,下載地址以下圖所示: 
這裏寫圖片描述

點擊target文件夾後,能夠看到構建好的文件:mavendockerplugindemo-0.0.1-SNAPSHOT.jar,點擊這個文件便可經過瀏覽器下載到本地;

本地打開控制檯,進入mavendockerplugindemo-0.0.1-SNAPSHOT.jar文件所在的目錄,執行如下命令便可啓動這個spring boot的web工程,端口號爲8081:

java -jar mavendockerplugindemo-0.0.1-SNAPSHOT.jar --server.port=8081
  • 1

能夠看到熟悉的springboot啓動信息,以下圖: 
這裏寫圖片描述

在瀏覽器輸入:localhost:8081,能夠正常訪問此web服務,以下圖:

這裏寫圖片描述

至此,基本的Jenkins服務搭建和使用的實戰都完成了,後面的章節中,咱們一塊兒繼續實戰Jenkins更豐富的功能;

相關文章
相關標籤/搜索