linux下的Jenkins簡單使用
linux下的Jenkins簡單使用
1.安裝jenkins
官網 https://jenkins.io/zh/ 點選下載
我是ubantu18.04系統
按照官網指示 :
1:這是Jenkins的Debian軟體包儲存庫,用於自動安裝和升級。要使用此儲存庫,請首先將金鑰新增到系統中:
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
2:然後在/etc/apt/sources.list中新增以下條目:
deb https://pkg.jenkins.io/debian-stable binary/
3:您將需要顯式安裝Java,因為Jenkins不支援所有Java版本,因此這是確保正確配置系統的最安全方法。在Java上新增顯式依賴要求可能會強制安裝不需要的JVM版本。有關更多詳細資訊Check Java requirements in Jenkins for more details
- 2.164 (2019-02) and newer: Java 8 or Java 11
- 2.54 (2017-04) and newer: Java 8
- 1.612 (2015-05) and newer: Java 7
注意jenkins不支援java 9 ,10 ,12
4: 更新您的本地軟體包索引,然後最終安裝Jenkins:
sudo apt-get update
sudo apt-get install jenkins
PS: 在執行第三部時我遇到一個問題 :
No Java executable found in current PATH: /bin:/usr/bin:/sbin:/usr/sbin
解決辦法:
①.先執行echo $PATH 看看環境變數執行結果如下:
/usr/maven/maven/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/java/jdk1.8/bin
如果連這都沒有的話重新安裝Java。
(實際上我是安裝了java了, 但是我的java不在/bin:/usr/bin:/sbin:/usr/sbin任何一個目錄中,所以執行下面一步連線就好了)
②.建立軟連線:ln -s /usr/java/jdk1.8/bin/java /usr/bin/java(換成你自己的路徑)
注意:jenkins的預設埠是8080,如果8080被佔用記得去改一下在/etc/default/jenkins這個檔案改,改成8081或者其他的都可以
最後重啟:service jenkins restart
————————————————
原文連結:https://blog.csdn.net/yi_suo_yan_yu/article/details/81981789
安裝後其實又碰到一個問題:訪問不到jenkins, 並且埠也沒被佔用, 網上找了好多解決辦法都不行,
jenkins的狀態如下:systemctl status jenkins
● jenkins.service - LSB: Start Jenkins at boot time
Loaded: loaded (/etc/init.d/jenkins; generated)
Active: active (exited) since Wed 2020-03-25 13:47:26 CST; 14s ago
Docs: man:systemd-sysv-generator(8)
Process: 26759 ExecStop=/etc/init.d/jenkins stop (code=exited, status=0/SUCCESS)
Process: 26803 ExecStart=/etc/init.d/jenkins start (code=exited, status=0/SUCCESS)
錯誤日誌也沒有報錯:cat /var/log/jenkins/jenkins.log
最後在stackoverflow上找到一篇文章根據提示解決了:
Setting permissions for files and folders under /var/lib/jenkins worked for me:
vim /etc/sysconfig/jenkins
# make sure that $JENKINS_USER="jenkins"
chown -R jenkins:jenkins /var/lib/jenkins
chown -R jenkins:jenkins /var/cache/jenkins
chown -R jenkins:jenkins /var/log/jenkins
systemctl restart jenkins ```
來自 <https://stackoverflow.com/questions/42607771/jenkins-active-exited>
2.配置jenkins
安裝完成後登陸jenkins進行配置
1.git,maven,jdk配置
系統管理 --> 全域性工具配置
配置****maven
配置****git
配置****jdk
2.外掛管理
為了打包和部署java程式, 需要以下幾個外掛:
GitLab,
Maven Integration,
Publish over SSH
3.構建專案
安裝了maven外掛後, 就可以選擇maven專案
告訴jenkins從哪裡獲取程式碼
拉取之後給jenkins指定pom.xml的路徑, 如果pom就在專案根目錄下則不用修改
然後給jenkins指定maven進行的操作
打包之後進行的操作
#!/bin/bash
#刪除原來的jar
rm -rf /usr/local/code/lifetrack/back/lifetrack-*.jar
#複製jar包到指定位置
cp /var/lib/jenkins/workspace/lifetrack/lifetrack/target/lifetrack-0.0.1-SNAPSHOT.jar /usr/local/code/lifetrack/back
#開啟指定位置資料夾
cd /usr/local/code/lifetrack/back
port=1816
#根據埠號查詢對應的pid
pid=$(netstat -nlp | grep :$port | awk '{print $7}' | awk -F"/" '{ print $1 }')
#殺掉對應的程序,如果pid不存在,則不執行
if [ -n "$pid" ]; then
kill -9 $pid;
fi
nohup java -jar lifetrack-0.0.1-SNAPSHOT.jar --server.port=1816 >lifetracklog.txt 2>&1 &
然後試試訪問部署後的專案 : OK了
4.gitee遠端觸發jenkins拉取程式碼,打包並部署
jenkins安裝外掛 : gitee plugin
在專案配置--> 構建觸發器中選中 gitee webhook 構建觸發,並生成一個webhook密碼
根據提示在gitee的webhook中裡新增URL 和 webhook密碼
點選測試, 可以看到請求結果