日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

jenkins pipeline、用户权限管理、插件下载地址更改、凭证管理、自由风格项目构建、maven项目构建、常用的构建触发器、邮件发送、SonarQube代码审查

發布時間:2025/1/21 编程问答 18 豆豆

CI持續集成流程


pipeline


jenkins安裝pipeline插件:


簡單使用:

查看流水線語法:

片段生成器:

2.0以后推薦使用聲明式語法:右側下拉框是一些步驟,都可以自動生成
Declarative Directive Generator:文檔

拉取代碼

使用片段生成器checkout代碼:

SCM的選項依賴于你安裝的插件:

選擇分支:


將“生成流水線腳本”復制:

生成的腳本:

checkout([$class: 'SubversionSCM', additionalCredentials: [], excludedCommitMessages: '', excludedRegions: '', excludedRevprop: '', excludedUsers: '', filterChangelog: false, ignoreDirPropChanges: false, includedRegions: '', locations: [[cancelProcessOnExternalsFail: true, credentialsId: '70892509-82d6-4997-8bda-49c80e8b7956', depthOption: 'infinity', ignoreExternalsOption: true, local: '.', remote: 'https://192.168.0.100:8443/svn/dm-springcloud/trunk/spring-cloud']], quietOperation: true, workspaceUpdater: [$class: 'UpdateUpdater']]) pipeline {agent anystages {stage('checkout from svn') {steps {checkout([$class: 'SubversionSCM', additionalCredentials: [], excludedCommitMessages: '', excludedRegions: '', excludedRevprop: '', excludedUsers: '', filterChangelog: false, ignoreDirPropChanges: false, includedRegions: '', locations: [[cancelProcessOnExternalsFail: true, credentialsId: '70892509-82d6-4997-8bda-49c80e8b7956', depthOption: 'infinity', ignoreExternalsOption: true, local: '.', remote: 'https://192.168.0.100:8443/svn/dm-springcloud/trunk/spring-cloud']], quietOperation: true, workspaceUpdater: [$class: 'UpdateUpdater']])}}} }

編譯打包


mvn clean package



也可以寫成:

sh 'mvn clean package'

部署tomcat

需要安裝相應的插件才會有deploy選項:

部署到tomcat:

jenkins腳本放到工程目錄

在web UI界面編寫腳本易失,一般推薦放到工程目錄下,還可以進行版本控制



常用的構建觸發器

觸發遠程構建

其他項目遠程通過一個地址URL來觸發當前項目的構建:

其他工程構建后觸發

其他工程構建完畢后會觸發當前工程的構建

定時構建


H/30 * * * * H代表傳參,表示變化的意思 如:10:02 10:32 11:02... 0/30 * * * * 整點開始,每隔30分鐘執行一次,如10:00 10:30 11:00 11:30

每2分鐘構建一次:

每隔2分鐘會自動觸發構建:

輪詢SCM

會掃描整個項目的代碼,增大開銷,不推薦使用。

每隔2分鐘輪詢一次:

當倉庫中代碼有變動,jenkins2分鐘后輪詢到倉庫代碼變化,會自動觸發構建:

Git hook自動觸發構建



jenkins的參數化構建


jenkins添加參數:




腳本改造:

創建v1分支,并在代碼中做好標記:



就會從v1分支拉取代碼:

發送構建結果到指定郵箱


安裝Email Extension Template插件

jenkins設置郵箱相關參數


sina郵箱開啟授權碼:

騰訊企業郵箱貌似不用授權碼即可配置。https://exmail.qq.com/

jenkins相關配置:


點【高級】按鈕:SSL加密,端口都是465,不使用SSL,端口是25


測試右鍵發送:

準備郵件內容


以下三個都是jenkins的全局變量:



這些全局參數都可以從如下途徑找到:
jenkins–configure system–Content Token Reference 點擊右側的?號:

這些變量可以直接在jenkinsfile腳本文件和email模板中使用。

push郵件模板:

編寫jenkinsfile腳本添加構建后發送郵件


post與stages平級,放在stages后面:
stages是構建的核心流程
post是構建后操作
post可以根據stage執行的情況而選擇執行不同的代碼

post的寫法參考流水線語法:

always:無論構建成功與否,都會執行always里面的代碼

failure:stage執行失敗后走的代碼:

success與failure就類似于java中的try...catch...

可以通過片段生成器生成emailtext中的內容:

${FILE}用于指定email郵件模板文件所在路徑
to指定收件人列表,如果是多個的話,用,隔開
下面多了個@,要注意細節

測試


jenkins + SonarQube代碼審查

SonarQube是用ES作為代碼檢索的工具,所以會啟動es的服務

安裝SonarQube







start stop status
查看sonar啟動日志:




該token是sonarqube與jenkins整合時的紐帶

jekins整合SonarQube實現代碼審查

jenkins通過SonarQube Scanner插件調用Sonar Scanner(安裝在Linux機器,可以通過jenkins自動安裝),sonar scanner就相當于一個SonarQube的客戶端

搜索:SonarQube Scanner


jenkins配置sonarqube服務器:

添加憑據:

非pipeline項目添加SonarQube代碼審查

也就是:自由風格項目和maven項目




構建時會自動進行代碼審查:


在sonar的UI界面也可以看到結果:





pipeline項目添加SonarQube代碼審查


在工程中添加sonar-project.properties配置文件:

全局工具配置SonaeQube Scanner中的Name與下面的是一致的

scannerHome = tool 'sonar-scanner'

自由風格項目會自動去全局工具配置中找到scannerHome



小插曲

yum install java-1.80.-openjdk* -y rpm -ivh jenkins-2.190.3-1.1.noarch.rpmvi /etc/sysconfig/jenkins systemctl start jenkinsyum install unzip

修改jenkins插件下載地址

jenkins有1000多個插件。
jenkins–manage jenkins–manage plugins–可選插件
在【高級】中可以看到jenkins插件下載的地址:https://updates.jenkins.io/update-center.json
點擊【可選插件】,等待頁面加載完畢

jenkins的開發目錄:
/var/lib/jenkins

/var/lib/jenkins/updates/default.json中,將jenkins官方的地址替換成清華的地址,將Google替換成baidu:


``

sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json

重啟jenkins:url后直接加上restart
192.168.52.30:8086/restart

安裝jenkins中文漢化插件

ps: 2.230默認已經安裝了漢化插件

jenkins用戶權限管理

搜索:Role-based








保存。


jenkins憑證管理



maven安裝和配置




ps:必須是M2_HOME

jenkins能構建的項目類型

自由風格項目構建


可選插件搜索:Deploy to container




保存即可:

查看日志:

查看tomcat的管理界面:

演示代碼改動后的持續集成:


拉取下來的代碼已經變成了最新的版本:

可以看到最新的內容了:

maven項目構建

搜索插件:Maven Integration

總結

以上是生活随笔為你收集整理的jenkins pipeline、用户权限管理、插件下载地址更改、凭证管理、自由风格项目构建、maven项目构建、常用的构建触发器、邮件发送、SonarQube代码审查的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。