Jenkins入門
二、安裝Jenkins
https://pkg.jenkins.io/redhat-stable/
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum install jenkins
相關包介紹
/usr/lib/jenkins/jenkins.war WAR包 /etc/sysconfig/jenkins 配置文件 /var/lib/jenkins/ 默認的JENKINS_HOME目錄 /var/log/jenkins/jenkins.log Jenkins日誌文件
配置與啟動
[root@jspgou ~]# lsof -i:8080 [root@jspgou ~]# /etc/init.d/jenkins start Starting jenkins (via systemctl): [ OK ] [root@jspgou ~]# lsof -i:8080 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME java 26969 jenkins 162u IPv6 68624 0t0 TCP *:webcache (LISTEN) [root@jspgou ~]# rpm -qa | grep jenkins jenkins-2.107.1-1.1.noarch [root@jspgou ~]# rpm -ql jenkins /etc/init.d/jenkins /etc/logrotate.d/jenkins /etc/sysconfig/jenkins /usr/lib/jenkins /usr/lib/jenkins/jenkins.war /usr/sbin/rcjenkins /var/cache/jenkins /var/lib/jenkins /var/log/jenkins [root@jspgou ~]#
在瀏覽器中登錄,初始密碼在如下文件中:
[root@jspgou ~]# cat /var/lib/jenkins/secrets/initialAdminPassword
389c09a28ecb42fe871a82d4414c5472
[root@jspgou ~]#
三、在WEB中配置Jenkins
登錄
系統管理--添加插件
添加ssh、maven等相關插件
以下插件需要選擇安裝 Ansible plugin Ant Plugin Blue Ocean Build Timeout Email Extension Plugin Git Parameter Plug-In Gitlab Hook Plugin GitLab Plugin Maven Invoker plugin Maven Integration plugin Publish Over SSH SSH plugin SSH Slaves plugin
方法如下圖所示:
系統管理--系統配置
系統配置--指定管理員郵箱地址
系統配置--設置郵件通知的SMTP服務器及其相關配置
系統配置--設置SSH 遠程服務器地址及其配置
如果需要指定私鑰文件,還需要將私鑰復制到/var/lib/jenkins 目錄,如下所示:
mkdir .ssh
cp ~/.ssh/id_rsa .ssh/
chown -R jenkins.jenkins .ssh
如下圖所示:
系統管理--全局工具配置
全局工具配置--配置jdk
全局工具配置--配置maven
在Gitlab創建一個Jenkins用戶:
並將Jenkins用戶加入到相應的組(Group)
在Jenkins中添加相關的Credentials:
將Gitlab中Jenkins用戶的username 和密碼填入Credentials中:
創建Jenkins項目(例1):
配置項目中的git server
添加訪問git server的ssh密鑰(私鑰)
配置項目中的構建(使用maven構建包)
配置項目中的構建後動作
在配置完畢的項目上進行構建
查看本次構建過程
構建報告
創建Jenkins項目(例2):
首先在使用git 為 code 添加Tag,如下所示:
[eric@meteor maven01]$ vim src/main/java/inspiry/cn/maven/HelloWorld.java
[eric@meteor maven01]$ git add .
[eric@meteor maven01]$ git commit -m ‘stable branch‘
[stable 4cfc2e3] stable branch
1 file changed, 1 insertion(+)
[eric@meteor maven01]$ git tag v1.0.2
[eric@meteor maven01]$ git tag
v1.0.2
[eric@meteor maven01]$ git push -u origin stable
Counting objects: 17, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (9/9), 583 bytes | 0 bytes/s, done.
Total 9 (delta 2), reused 0 (delta 0)
remote:
remote: To create a merge request for stable, visit:
remote: http://192.168.60.119/plat-sp/maven01/merge_requests/new?merge_request%5Bsource_branch%5D=stable
remote:
To [email protected]:plat-sp/maven01.git
* [new branch] stable -> stable
Branch stable set up to track remote branch stable from origin.
[eric@meteor maven01]$
[eric@meteor maven01]$ git branch
master
* stable
[eric@meteor maven01]$ git push origin v1.0.2
Total 0 (delta 0), reused 0 (delta 0)
To [email protected]:plat-sp/maven01.git
* [new tag] v1.0.2 -> v1.0.2
[eric@meteor maven01]$
然後在gitlab中可以查看相關的Tag:
然後添加Jenkins項目時設置如下:
選擇“參數化構建過程”,如下所示:
指定gitlab 倉庫時使用http方式,並選擇相關包含讀取權限的credentials,如下所示:
在構建環境中選擇“在構建前刪除workspace”
構建過程選擇全局設置的MAVEN名稱,並指定參數,如下所示:
構建後將target/*.jar 包推到SSH server 的指定目錄下,並執行相關腳本或shell語句,如下所示:
選擇項目構建時,指定需要構建的Tag,如下所示:
構建後結果如下所示:
Jenkins入門