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伺服器上使用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下,如圖:
這裡隻有一個檔案夾,就是上圖中圈中的那個。
這裡我們先記下這個路徑,之後在jenkins配置jdk裡會用到。
安裝maven
首先我們去maven下載下傳官網下載下傳适合linux的安裝包:連結: 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,其實都一樣,隻不過檔案的位置不同,按照我的安裝配置來說。
-
加載很慢的更改:
指令行是:
然後進入編輯模式,就可以根據上面的文章中的解決辦法進行修改并儲存。vim /var/lib/jenkins/hudson.model.UpdateCenter.xml
-
提升下載下傳插件的速度
指令行是:
然後就是批量替換字元串:cd /var/lib/jenkins/updates
最後啟動jenkins服務: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
service jenkins start
jenkins的端口号預設為8080,請保證linux上8080端口沒有被占用。jenkins服務啟動後,在浏覽器輸入伺服器ip:8080通路jenkins頁面。
打開頁面後首先要去剪頭指的位置擷取密碼:
cat /var/lib/jenkins/secrets/initialAdminPassword
然後複制出密碼粘貼到下方的輸入框中。
密碼輸入完成後,會跳轉到提示插件下載下傳的頁面
這裡我選擇左側的推薦下載下傳,然後就等待插件下載下傳安裝。
然後建立使用者和密碼并登陸:
之後就主要是在jenkins頁面中配置。
jenkins插件下載下傳
首先先去配置管理裡面的插件管理下下載下傳插件:
然後下載下傳maven插件
還有publish over ssh插件:
如果需要按照git上的分支或者tag來建構項目,則需要下載下傳Build With Parameters和Git Paramet兩個插件:
jenkins配置jdk、maven、git
- 進去系統管理的全局工具設定
- maven全局setting配置
- jdk配置
- Git配置
- maven配置
建立一個自動化部署任務
以上是jenkins配置的内容,下面說明下如何從github上拉取項目并自動建構;
- 建立任務
- 設定任務名稱
-
配置任務
配置一般設定(這裡我選擇配置建構的參數)
配置源碼管理 配置建構 建構後寫上自動運作的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