基礎依賴gitlb創建group,教程見我的另一篇博客:
https://www.cnblogs.com/SunshineKimi/p/10798836.html
2.jinkins服務部署linux,這里以centsos為例:
2.1下載jenkins:
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
2.2安裝 Jenkins (yum安裝Jenkins默認路徑為 /var/lib/jenkins)
sudo yum install jenkins
2.3.jenkins的默認設置
Jenkins會隨系統啟動而啟動。詳情參照/etc/init.d/jenkins
Jenkins會創建一個用戶叫做jenkins, 如果你修改了user,則要修修改所屬者:/var/log/jenkins,/var/lib/jenkins,/var/cache/jenkins
如果遇到問題,查看日志/var/log/jenkins/jenkins.log
配置文件/etc/sysconfig/jenkins
默認啟用8080,可以自己自定義port
4.配置端口
vi /etc/sysconfig/jenkins
默認8080,改成自己想要的端口
JENKINS_PORT="7070"
2.4防火牆開放端口7070
3.基礎工具jdk,maven,git 這三項太簡單了就不詳細介紹了,主要介紹jenkins:
部署完成后可能會遇到權限原因無法啟動jenkins,logs報錯問題,怎么解決呢?
如何修改運行jenkins進程的linux帳號?
我的解決:
yum安裝的Jenkins 配置文件默認位置/etc/sysconfig/jenkins
默認jenkins服務以jenkins用戶運行,這時在jenkins執行ant腳本時可能會發生沒有權限刪除目錄,覆蓋文件等情況。可以讓jenkins以root用戶運行來解決這個問題。
1.將jenkins賬號分別加入到root組中
gpasswd -a jenkins root
2.修改/etc/sysconfig/jenkins文件中,
#user id to be invoked as (otherwise will run as root; not wise!)
JENKINS_USER=root
JENKINS_GROUP=root
解決辦法:
進入/etc/sysconfig/jenkins中
將JENKINS_USER="jenkins" 改為:JENKINS_USER="root"
然后更改 jenkins文件夾下的用戶和用戶組為root
chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins
之后重啟jenkins即可
sudo service jenkins restart.
3.1基於maven風格的構建:
進入jenkins 管理設置/插件管理
搜索maven 安裝 maven integration plugin htmlpublisher performance plugin 讀取jtl文件出報告的插件 :
通常我們如果通過maven pom 文件去運行某個對應jmx時會使用,這里我同時還指定使用的依賴,默認可以不帶當你部署好maven 環境變量時;
mvn verify -f pom.xml -s /usr/local/maven/apache-maven-3.6.3/conf/settings.xml
如果是打包 mvn clean verify 完全可以滿足你
現在我們把這個融入到jenkins 如何實現:
接下來我們配置這個maven風格的流水線:為了方便部署區分不同環境分支比如test是測試分支,master測試完成后的主分支
我們可以使用git 參數化構:
參數化branch你要拉取的分支:
設置構建前置條件和build命令:
報告展示:
基於pipeline script構建:
前面的git 參數化都是一樣的無非使用stage 腳本編寫pipeline工程:
這里寫個簡單的groovy語法腳本:
構建跑起來:
第三種: 自由風格pipeline:
pipeline general 配置
參數化分支:
設置構建腳本:可以基於shell:
pass
構建后后置處理,比如結果郵件抄送:
發起構建:
查看日志: