什麼是BlueOcean?
BlueOcean重新考慮了Jenkins的使用者體驗。BlueOcean由Jenkins Pipeline設計,但仍然相容自由式工作,減少了團隊成員的混亂,增加了清晰度。
- 連續交付(CD)Pipeline的複雜視覺化,允許快速和直觀地瞭解Pipeline的狀態。
- Pipeline編輯器通過引導使用者直觀和視覺化的過程建立Pipeline,使建立Pipeline平易近人。
- 個性化,以適應團隊每個成員的角色需求。
- 需要干預和/或出現問題時確定精度。BlueOcean顯示了Pipeline需要注意的地方,便於異常處理和提高生產率。
- 用於分支和拉取請求的本地整合可以在GitHub和Bitbucket中與其他人進行程式碼協作時最大限度提高開發人員的生產力。
BlueOceans使用
依賴外掛
該外掛安裝完成後,在所要構建的任務中就會出現BlueOcean選擇,該專案是基於上篇部落格Pipeline專案,傳送門:https://www.cnblogs.com/feng0815/p/14287056.html
點選開啟 Blue Ocean
執行
實時展示進度
並行執行
以上的執行都是序列的,必須上個流程結束才能執行下個流程,這樣就會造成執行效率較低。
對於沒相互依賴的流程,我們可以進行並行執行
修改執行指令碼
pipeline{
agent {
label 'master'
}
stages{
stage('獲取原始碼') {
parallel {
stage('安卓程式原始碼') {
steps {
sh 'mkdir -p AndroidSampleApp'
dir("AndroidSampleApp"){
git branch:'master', url:'https://gitee.com/sfboy/AndroidSampleApp.git'
}
}
}
stage('自動測試程式原始碼') {
steps {
sh 'mkdir -p iAppBVT_Python'
dir("iAppBVT_Python"){
git branch:'master', url:'https://gitee.com/sfboy/iAppBVT_Python.git'
}
}
}
}
}
stage('安卓編譯打包') {
steps {
sh '''
. ~/.bash_profile
cd AndroidSampleApp
sh gradlew clean assembleDebug
'''
}
}
stage('測試與釋出') {
parallel {
stage('釋出測試包') {
steps {
archiveArtifacts artifacts: 'AndroidSampleApp/app/build/outputs/apk/debug/app-debug.apk'
}
}
stage('自動化'){
stages{
stage('部署') {
steps {
sh '''
. ~/.bash_profile
cd AndroidSampleApp
apk=app/build/outputs/apk/debug/app-debug.apk
{
#try: 解除安裝現有的安卓app
adb uninstall com.appsflyer.androidsampleapp
} || {
#catch
echo 'no com.appsflyer.androidsampleapp package'
}
sleep 5
#安裝安卓app
adb install $apk
'''
}
}
stage('自動測試') {
steps {
sh '''
. ~/.bash_profile
cd iAppBVT_Python
#更新python依賴庫
pip3 install -r requirements.txt
#執行自動化測試
pytest -sv test/bvt_test.py --tc-file iAppBVT_Python.json --tc-format json
'''
}
}
}
}
}
}
stage('通知郵件') {
steps {
emailext body: '$DEFAULT_CONTENT', recipientProviders: [[$class: 'RequesterRecipientProvider']], subject: '$DEFAULT_SUBJECT'
}
}
}
}