Linux下安裝部署jenkins
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 java01.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的配置。
詳情可以參考
上面的兩篇文章講的是如何在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