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


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

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

實戰環境

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

准備文件映射路徑

jenkins的容器啟動后,重要的文件我們希望能保存在當前電腦,否則容器被損壞或者刪除后就找不回這些文件了,因此要在當前電腦上准備一個目錄作為文件映射,注意文件夾權限問題,我這邊准備的本機目錄是/usr/local/work/jenkins,並且執行了chmod 777 /usr/local/work/jenkins以確保docker進程有權限讀寫此目錄;

啟動容器

  • 在控制台執行以下命令,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的服務,由於密碼還沒有設置,將會看到下圖信息: 
    這里寫圖片描述

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

  • 打開此文件后發現只有一行內容,復制后粘貼到頁面唯一的輸入框中,再點擊右下角的”Continue”按鈕;

  • 在等待頁面停留數十秒后,出現以下頁面,左邊按鈕是直接安裝推薦的插件配置,右邊按鈕是自己選擇所需的插件,這里我們點擊左邊按鈕,把推薦的插件裝了: 
    這里寫圖片描述

  • 如下圖,jenkins開始逐個安裝插件: 
    這里寫圖片描述

  • 如下圖,提示創建一個管理員,填寫完相關信息並提交,就可以使用jenkins服務了: 
    這里寫圖片描述

安裝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更豐富的功能;


免責聲明!

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



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