天天看點

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

Linux下安裝部署jenkins

  • Linux下安裝部署jenkins
    • 下載下傳安裝jenkins
    • 安裝jdk
    • 安裝maven
    • 安裝git
    • 啟動jenkins服務
    • jenkins插件下載下傳
    • jenkins配置jdk、maven、git
    • 建立一個自動化部署任務

Linux下安裝部署jenkins

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

下載下傳安裝jenkins

首先去jenkins官網下載下傳: jenkins

Linux下安裝部署jenkins并完成github上springboot項目的自動化部署Linux下安裝部署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 java-1.8.0-openjdk-* -y

預設JAVA_HOME是在/usr/lib/jvm下,如圖:

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

這裡隻有一個檔案夾,就是上圖中圈中的那個。

這裡我們先記下這個路徑,之後在jenkins配置jdk裡會用到。

安裝maven

首先我們去maven下載下傳官網下載下傳适合linux的安裝包:連結: maven下載下傳

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

然後下載下傳完上傳到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頁面。

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

打開頁面後首先要去剪頭指的位置擷取密碼:

cat /var/lib/jenkins/secrets/initialAdminPassword

然後複制出密碼粘貼到下方的輸入框中。

密碼輸入完成後,會跳轉到提示插件下載下傳的頁面

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

這裡我選擇左側的推薦下載下傳,然後就等待插件下載下傳安裝。

然後建立使用者和密碼并登陸:

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

之後就主要是在jenkins頁面中配置。

jenkins插件下載下傳

首先先去配置管理裡面的插件管理下下載下傳插件:

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

然後下載下傳maven插件

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

還有publish over ssh插件:

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

如果需要按照git上的分支或者tag來建構項目,則需要下載下傳Build With Parameters和Git Paramet兩個插件:

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

jenkins配置jdk、maven、git

  1. 進去系統管理的全局工具設定
    Linux下安裝部署jenkins并完成github上springboot項目的自動化部署Linux下安裝部署jenkins
  2. maven全局setting配置
    Linux下安裝部署jenkins并完成github上springboot項目的自動化部署Linux下安裝部署jenkins
  3. jdk配置
    Linux下安裝部署jenkins并完成github上springboot項目的自動化部署Linux下安裝部署jenkins
  4. Git配置
    Linux下安裝部署jenkins并完成github上springboot項目的自動化部署Linux下安裝部署jenkins
  5. maven配置
    Linux下安裝部署jenkins并完成github上springboot項目的自動化部署Linux下安裝部署jenkins

建立一個自動化部署任務

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

  1. 建立任務
    Linux下安裝部署jenkins并完成github上springboot項目的自動化部署Linux下安裝部署jenkins
  2. 設定任務名稱
    Linux下安裝部署jenkins并完成github上springboot項目的自動化部署Linux下安裝部署jenkins
  3. 配置任務

    配置一般設定(這裡我選擇配置建構的參數)

    Linux下安裝部署jenkins并完成github上springboot項目的自動化部署Linux下安裝部署jenkins
    配置源碼管理
    Linux下安裝部署jenkins并完成github上springboot項目的自動化部署Linux下安裝部署jenkins
    配置建構
    Linux下安裝部署jenkins并完成github上springboot項目的自動化部署Linux下安裝部署jenkins
    建構後寫上自動運作的shell腳本:
    Linux下安裝部署jenkins并完成github上springboot項目的自動化部署Linux下安裝部署jenkins

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任務執行完畢會殺掉自己的子程序。那麼我們可以在系統管理的系統配置下新增一個環境變量:

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

環境變量下新增一個鍵值對:

key:BUILD_ID

value:DontKillMe

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

繼續閱讀