Linux下安裝部署jenkins並完成github上springboot項目的自動化部署

Linux下安裝部署jenkins

這裏不僅說明如何下載安裝jenkins,還會說明如何安裝配置jdk1.8,maven,git。

下載安裝jenkins

首先去jenkins官網下載: jenkins
jenkins下載說明
如果嫌下載太慢,可以直接在linux服務器上使用yum安裝jenkins,命令爲:yum install jenkins(如果不是root用戶,命令行前可以加上sudo),然後等待linux自動下載安裝(我這裏使用的是yum安裝)。
使用yum安裝完成後jenkins在linux服務器上的文件目錄爲:
/usr/lib/jenkins/jenkins.war (WAR包 )
/etc/sysconfig/jenkins (配置文件)
/var/lib/jenkins/ (默認的JENKINS_HOME目錄,之後從git build的項目就在這個目錄的workspace之內)
/var/log/jenkins/jenkins.log (Jenkins日誌文件)

安裝jdk

這裏我安裝的是jdk1.8版本,是用的yum安裝,命令行爲:
yum install java01.8.0-openjdk-* -y
默認JAVA_HOME是在/usr/lib/jvm下,如圖:
JAVA_HOME路徑
這裏只有一個文件夾,就是上圖中圈中的那個。
這裏我們先記下這個路徑,之後在jenkins配置jdk裏會用到。

安裝maven

首先我們去maven下載官網下載適合linux的安裝包:鏈接: maven下載
maven下載說明
然後下載完上傳到Linux服務器上,並且在/usr/local/下新建一個文件夾maven;
在linux服務器上進入到壓縮包的目錄下,解壓到/usr/local/maven/下,解壓命令(Linux命令:tar zvxf 【maven壓縮包】 -C /usr/local/maven
maven中的setting.xml可以根據自己需要進行改動。
注意,maven一定要放在/usr/local/下,不然jenkins配置maven的時候會找不到maven文件。

安裝git

首先先查看服務器是否安裝過git,因爲有的linux服務器會自帶git,命令行爲:
git --version
這裏我們不用原有的git,所以需要卸載,命令行爲:
yum remove git
然後在下載安裝git前先安裝所需軟件包,命令行如下:

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc
yum install gcc perl-ExtUtils-MakeMaker

然後安裝最新的git:

wget -O git.zip https://github.com/git/git/archive/master.zip
unzip git.zip
cd git-master
make prefix=/usr/local/git all
make prefix=/usr/local/git install

將Git添加到環境變量:

# 編輯環境配置文件
vim /etc/profile

# 末尾添加
export PATH=$PATH:/usr/local/git/bin

# 立馬生效
source /etc/profile

啓動jenkins服務

首先,由於jenkins裏用的是國外的鏡像,所以頁面和插件的打開和安裝有時候會比較慢。所以我們可以更改下jenkins的配置。
詳情可以參考

首次啓動Jenkins加載很慢的解決辦法
提高jenkins下載插件的速度

上面的兩篇文章講的是如何在windows系統下配置jenkins來提高速度,但是我們用的是linux,其實都一樣,只不過文件的位置不同,按照我的安裝配置來說。

  1. 加載很慢的更改:
    命令行是:
    vim /var/lib/jenkins/hudson.model.UpdateCenter.xml
    然後進入編輯模式,就可以根據上面的文章中的解決辦法進行修改並保存。
  2. 提升下載插件的速度
    命令行是:
    cd /var/lib/jenkins/updates
    然後就是批量替換字符串:
    sed -i "s|updates.jenkins-ci.org/download|mirrors.tuna.tsinghua.edu.cn/jenkins|g" default.json
    sed -i "s/www.google.com/www.baidu.com/g" default.json
    
    最後啓動jenkins服務:service jenkins start

jenkins的端口號默認爲8080,請保證linux上8080端口沒有被佔用。jenkins服務啓動後,在瀏覽器輸入服務器ip:8080訪問jenkins頁面。
jenkins頁面
打開頁面後首先要去剪頭指的位置獲取密碼:
cat /var/lib/jenkins/secrets/initialAdminPassword
然後複製出密碼粘貼到下方的輸入框中。
密碼輸入完成後,會跳轉到提示插件下載的頁面
插件
這裏我選擇左側的推薦下載,然後就等待插件下載安裝。

然後創建用戶和密碼並登陸:
用戶和密碼
之後就主要是在jenkins頁面中配置。

jenkins插件下載

首先先去配置管理裏面的插件管理下下載插件:
插件管理
然後下載maven插件
maven插件
還有publish over ssh插件:
插件
如果需要按照git上的分支或者tag來構建項目,則需要下載Build With Parameters和Git Paramet兩個插件:
在這裏插入圖片描述
在這裏插入圖片描述

jenkins配置jdk、maven、git

  1. 進去系統管理的全局工具設置
    配置
  2. maven全局setting配置
    在這裏插入圖片描述
  3. jdk配置
    在這裏插入圖片描述
  4. Git配置
    在這裏插入圖片描述
  5. maven配置
    在這裏插入圖片描述

創建一個自動化部署任務

以上是jenkins配置的內容,下面說明下如何從github上拉取項目並自動構建;

  1. 創建任務
    在這裏插入圖片描述

  2. 設置任務名稱
    在這裏插入圖片描述

  3. 配置任務

    配置一般設置(這裏我選擇配置構建的參數)
    在這裏插入圖片描述

    配置源碼管理
    在這裏插入圖片描述

    配置構建
    在這裏插入圖片描述
    構建後寫上自動運行的shell腳本:
    在這裏插入圖片描述
    shell腳本代碼爲:

port=9090
echo '根據端口號查詢對應的pid'
pid=$(netstat -nlp | grep :$port | awk '{print $7}' | awk -F"/" '{ print $1 }');
echo '殺掉對應的進程,如果pid不存在,則不執行'
if [  -n  "$pid"  ];  then
    kill  -9  $pid;
fi
echo '刪除原來的jar包'
rm -rf /home/kevinadmin/book/demo-0.0.1-SNAPSHOT.jar
echo '將構建的jar包複製到指定目錄下'
cd target/
cp demo-0.0.1-SNAPSHOT.jar /home/kevinadmin/book
echo '運行構建的jar包'
cd /home/kevinadmin/book
nohup java -jar demo-0.0.1-SNAPSHOT.jar >/dev/null 2>&1 &

因爲我這裏作爲測試用的springboot項目的端口號爲9090,構建後的jar包名稱爲:demo-0.0.1-SNAPSHOT.jar,所以上面的對應的這些地方可以根據需要替換爲自己的端口號和jar包名稱。
還有jar包複製到指定目錄,用到的命令爲:
cp demo-0.0.1-SNAPSHOT.jar /home/kevinadmin/book
其中/home/kevinadmin/book是我這裏指定的目錄,各位也可以根據需要替換爲自己的目錄。

到這裏,初步的jenkins自動化構建部署任務已經配置完成了,接下來就直接點構建然後選擇對應的tag或者分支就可以進行構建了。
注:如果遇到shell腳本執行後,發現自己的jar包還沒有運行的情況,這種狀況一般是由於jenkins任務執行完畢會殺掉自己的子進程。那麼我們可以在系統管理的系統配置下新增一個環境變量:
在這裏插入圖片描述
環境變量下新增一個鍵值對:
key:BUILD_ID
value:DontKillMe
在這裏插入圖片描述

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