1. 程式人生 > 實用技巧 >linux下的Jenkins簡單使用

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密碼

點選測試, 可以看到請求結果