圖解Jenkins環境搭建+多機部署

概述

本文操作基於Ubuntu系統,其它系統操作類似。
本文目標:實現Ubuntu系統下,Jenkins環境的搭建和通過SSH方式的多機部署。
爲便於操作,以下操作過程中均使用root用戶。

安裝

安裝JDK

Oracle JDK下載地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html
安裝過程比較簡單,此處從略。

安裝Jenkins

1. 下載

下載地址:https://jenkins.io/zh/download/
在這裏插入圖片描述
選擇自己機器對應的版本即可。鑑於我比較喜歡綠色版軟件,此處選擇最後那個
Generic Java package (.war)
切換到要安裝Jenkins的目錄,比如我的/data/tools/jenkins,執行wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war,下載完成後如圖:
在這裏插入圖片描述

2. 啓動

執行命令java -jar jenkins.war --httpPort=8080
如果看到如下圖的日誌,表明啓動成功
在這裏插入圖片描述
如果沒有成功,請檢查JDK是否正確安裝並且8080端口是否被佔用,如果端口被佔用,換一個即可。

3. 初始化

打開瀏覽器,輸入http://localhost:8080,如果是遠程操作,請替換localhost爲對應機器的IP。如圖
在這裏插入圖片描述
按照提示,複製/root/.jenkins/secrets/initialAdminPassword文件中的初始admin密碼,然後點繼續。
我這裏圖省事,直接選擇推薦的插件:
在這裏插入圖片描述
插件安裝完成後,填寫管理員信息保存即可,如圖
![在這裏插入圖片描述](https://img-blog.csdnimg.cn/20190929163907926.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTMzMTQ3ODY=,size_16,color_FFFFFF,t_70
跟隨指引走完流程之後進入主界面,如圖
在這裏插入圖片描述
至此初始化完成。
但是,由於要發佈的是Java項目,並且要發佈到遠程機器上,所以maven插件(Maven Integration)和SSH插件(Publish Over SSH)需要裝一下。操作過程如圖:
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
插件安裝完成,重啓Jenkins之後即可開始個性化配置啦。

配置

全局工具配置

在全局配置中可以指定maven,git,JDK等環境配置
在這裏插入圖片描述
在這裏插入圖片描述
如果機器上沒有安裝git,maven,以及編譯代碼使用的JDK,都可以在這裏讓Jenkins自動安裝。如果使用的是maven私服,也可以指定下maven配置文件在機器上的位置。
配置完成後,點保存即可。
在這裏插入圖片描述

系統配置

在這裏插入圖片描述
這裏的配置項非常多,不再展開說明,只講下發布配置。
發佈時可以使用用戶名+密碼的方式,也可以用SSH的方式,這裏講下使用SSH的發佈方式。

主要步驟
  1. 配置遠程機器允許SSH訪問,配置方式可參考另一篇文章:Linux通過SSH訪問其它機器
  2. 指定私鑰在機器上的路徑,或者直接把私鑰內容粘貼到Key文本框中,如圖
    在這裏插入圖片描述
  3. 添加遠程目標機器。點擊SSH Servers後邊的新增按鈕,添加剛剛配置過SSH的目標機器信息,如圖
    在這裏插入圖片描述

保存即可。

憑據配置

配置憑據是爲了從私有的git倉庫上拉取代碼,同樣有幾種方式,可以選擇使用用戶名+私鑰,也可以選擇用戶名加密碼,根據自己喜好選擇即可,這裏選擇用戶名+私鑰。操作過程如圖
在這裏插入圖片描述
把私鑰粘貼過來,保存即可。如圖
在這裏插入圖片描述

Git配置

此處以GitHub爲例,進入個人設置頁,然後配置服務器公鑰即可,如圖
在這裏插入圖片描述

創建任務

  1. 新建一個Jenkins任務,如圖
    在這裏插入圖片描述
    名字一般就是項目名稱,這裏選擇maven項目
    在這裏插入圖片描述
    確定之後,在任務配置頁進行項目名稱,git地址,憑證,分支,編譯,發佈等配置,如圖
    在這裏插入圖片描述
    此處的project.name是一個字符串參數,可以在接下來的配置中當變量來用,這樣如果項目名改了,我們直接修改project.name的默認值即可,其餘配置不用改。
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述
    添加部署腳本:
    在這裏插入圖片描述
    其中部署腳本比較簡單,這裏粘出來,便於複製修改
source /etc/profile
cd /data/apps/${project.name}
mkdir -p history
ps -ef | grep ${project.name} | grep -v grep| awk{print $2}| xargs kill -9
sleep 10

#移除3天前的app備份
find ./history -name "${project.name}.jar.*" -mtime +2 -exec rm {} \;
mv ${project.name}.jar ./history/${project.name}.jar.`date +%Y%m%d-%H:%M:%S`

#啓動app
chmod -R a+r ./
chmod a+x ${project.name}.jar
nohup java -jar ${project.name}.jar &

最後保存,任務編寫完成。

驗證

回到主界面,可以看到test任務已經創建好了,點啓動按鈕,然後點開始構建即可,如圖
在這裏插入圖片描述
在這裏插入圖片描述
構建Console控制檯中看到 Finished: SUCCESS即表示構建成功了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章