SlideShare a Scribd company logo
把玩 Jenkins CI
Hao Lee, iOS @ Taipei
2017/12/12
Jenkins CI 簡介
• ⼀一套開源的持續整合⼯工具
• 可以與版本管理理伺服器連動
• 可將測試報告以 HTML ⽅方式呈現
• 安裝外掛有更更多報表,例例:⾏行行數計算、覆蓋率
安裝 Jenkins CI
• 可透過官網或 Homebrew 安裝
• 使⽤用 Homebrew 可隨時切換舊有版本
• 2.91版 + RVM 是場悲劇
• 有⼀一般版、LTS版
• 官網版會創建⼀一個共享級別的使⽤用者
前置準備
• JDK 7 或 8
• 使⽤用 JDK 9 會無法安裝 java-runtime plugin
• Xcode CLT
• Homebrew
啟動 Jenkins
• 啟動前需確認是否需要讓外部可連線
• 啟動指令為:brew services start jenkins
• 初次啟動需填入安全密碼,密碼存放位置參參考⾴頁
⾯面提⽰示
• 初次啟動需創建管理理者帳號
修改參參數
解鎖 Jenkins
啟動 Jenkins
Jenkins 外掛
• AnsiColor:輸出⽂文字可帶顏⾊色
• Cobertura:處理理覆蓋率報告
• GitHub Authentication:使⽤用 GitHub 帳號登入
Jenkins
• GitHub Issues:創建 GitHub Issues
關閉登入驗證
設定錯誤造成無法登入或無⼈人擁有最⾼高權限時的補救⽅方法
關閉登入驗證
設定錯誤造成無法登入或無⼈人擁有最⾼高權限時的補救⽅方法
false
Jenkins 外掛
• Rvm:讓 Jenkins 作業套⽤用 RVM
• SLOCCount:處理理 cloc 報告
• Startup Trigger:可啟動時觸發作業
• Throttle Concurrent Builds:分類建置作業
• Timestamper:輸出⽂文字旁顯⽰示時間
環境設定
避免Command Line中⽂文亂碼
讓 Jenkins 可使⽤用 Homebrew
設定git登入⽅方式
以帳密登入,不⽀支援兩兩階段登入
建立新作業
設定建置群組
有使⽤用 submodule 記得要額外設定
觸發⽅方式
建置環境
建置過程
基本上,過程全寫進 fastlane 裡了了
產⽣生覆蓋率報告⾴頁⾯面
發佈⾃自定的網⾴頁
產⽣生各種報告⾴頁⾯面
保留留指定的檔案
保留留指定的檔案
Email 通知建置失敗
最後
你會得到這種⾴頁⾯面
Q & A

More Related Content

What's hot

Modal verbs of obligation, permission, prohibition
Modal verbs of obligation, permission, prohibitionModal verbs of obligation, permission, prohibition
Modal verbs of obligation, permission, prohibitionJohn David
 
Modal 1-Modal Verbs of Permission.pptx
Modal 1-Modal Verbs of Permission.pptxModal 1-Modal Verbs of Permission.pptx
Modal 1-Modal Verbs of Permission.pptx
TiffanyAnneCervantes
 
Countable and Uncountable Nouns
Countable and Uncountable NounsCountable and Uncountable Nouns
Countable and Uncountable Nouns
MariaKarlaSepcon
 
Degrees of adjectives
Degrees of adjectivesDegrees of adjectives
Degrees of adjectives
Judith Solé Montejo
 
Greetings worksheet
Greetings   worksheetGreetings   worksheet
Greetings worksheet
Carolina Duarte
 
Tongue twisters with sounds
Tongue twisters with soundsTongue twisters with sounds
Tongue twisters with sounds
Liliana Lo Preiato
 
English Idioms
English IdiomsEnglish Idioms
English Idioms
yolyordam yolyordam
 
Complex Sentences
Complex SentencesComplex Sentences
Complex SentencesAiden Yeh
 
Anagrams
AnagramsAnagrams
Anagrams
SnehaS21UED083
 
Chapter 4 Using Adjectives In Sentences
Chapter 4    Using  Adjectives In  SentencesChapter 4    Using  Adjectives In  Sentences
Chapter 4 Using Adjectives In Sentences
Maximoff
 
Prefixes
PrefixesPrefixes
Prefixes
Rudi Hermanto
 
Passive Voice games and activities
Passive Voice games and activitiesPassive Voice games and activities
Passive Voice games and activities
Nadia Sol
 
Have you ever...?
Have you ever...?Have you ever...?
Have you ever...?
zanka66
 
Colloquialisms, idioms, & slang module 2 my slide
Colloquialisms, idioms, & slang module 2 my slideColloquialisms, idioms, & slang module 2 my slide
Colloquialisms, idioms, & slang module 2 my slide
jonathankunz
 
English 6 quarter 3 week 6
English 6 quarter 3 week 6English 6 quarter 3 week 6
English 6 quarter 3 week 6
MernieGrace1
 
Story Elements an Early Elementary Lesson
Story Elements an Early Elementary LessonStory Elements an Early Elementary Lesson
Story Elements an Early Elementary Lesson
fpalmateer
 

What's hot (20)

Modal verbs of obligation, permission, prohibition
Modal verbs of obligation, permission, prohibitionModal verbs of obligation, permission, prohibition
Modal verbs of obligation, permission, prohibition
 
Modal 1-Modal Verbs of Permission.pptx
Modal 1-Modal Verbs of Permission.pptxModal 1-Modal Verbs of Permission.pptx
Modal 1-Modal Verbs of Permission.pptx
 
Countable and Uncountable Nouns
Countable and Uncountable NounsCountable and Uncountable Nouns
Countable and Uncountable Nouns
 
Gerund
GerundGerund
Gerund
 
Using Connectors
Using ConnectorsUsing Connectors
Using Connectors
 
Degrees of adjectives
Degrees of adjectivesDegrees of adjectives
Degrees of adjectives
 
Greetings worksheet
Greetings   worksheetGreetings   worksheet
Greetings worksheet
 
Tongue twisters with sounds
Tongue twisters with soundsTongue twisters with sounds
Tongue twisters with sounds
 
English Idioms
English IdiomsEnglish Idioms
English Idioms
 
Complex Sentences
Complex SentencesComplex Sentences
Complex Sentences
 
review grade 7
review grade 7review grade 7
review grade 7
 
Anagrams
AnagramsAnagrams
Anagrams
 
Chapter 4 Using Adjectives In Sentences
Chapter 4    Using  Adjectives In  SentencesChapter 4    Using  Adjectives In  Sentences
Chapter 4 Using Adjectives In Sentences
 
Prefixes
PrefixesPrefixes
Prefixes
 
Passive Voice games and activities
Passive Voice games and activitiesPassive Voice games and activities
Passive Voice games and activities
 
Class contract
Class contractClass contract
Class contract
 
Have you ever...?
Have you ever...?Have you ever...?
Have you ever...?
 
Colloquialisms, idioms, & slang module 2 my slide
Colloquialisms, idioms, & slang module 2 my slideColloquialisms, idioms, & slang module 2 my slide
Colloquialisms, idioms, & slang module 2 my slide
 
English 6 quarter 3 week 6
English 6 quarter 3 week 6English 6 quarter 3 week 6
English 6 quarter 3 week 6
 
Story Elements an Early Elementary Lesson
Story Elements an Early Elementary LessonStory Elements an Early Elementary Lesson
Story Elements an Early Elementary Lesson
 

Similar to 把玩 Jenkins CI

Continuous Delivery: automated testing, continuous integration and continuous...
Continuous Delivery: automated testing, continuous integration and continuous...Continuous Delivery: automated testing, continuous integration and continuous...
Continuous Delivery: automated testing, continuous integration and continuous...
Jimmy Lai
 
Git&Github Tutorial
Git&Github TutorialGit&Github Tutorial
Git&Github Tutorial
Ting Wen Su
 
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩Wen-Tien Chang
 
Linux Container Introduction
Linux Container IntroductionLinux Container Introduction
Linux Container Introduction
家弘 周
 
Continuous integration
Continuous integrationContinuous integration
Continuous integrationnetdbncku
 
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
Edward Kuo
 
企業導入微服務實戰 - updated
企業導入微服務實戰 - updated企業導入微服務實戰 - updated
企業導入微服務實戰 - updated
Paul Chao
 
用 Docker 改善團隊合作模式
用 Docker 改善團隊合作模式用 Docker 改善團隊合作模式
用 Docker 改善團隊合作模式
Bo-Yi Wu
 
2, installation
2, installation2, installation
2, installation
ted-xu
 
Asp.net core v1.0
Asp.net core v1.0Asp.net core v1.0
Asp.net core v1.0
國昭 張
 
Asp.net core v1.0
Asp.net core v1.0Asp.net core v1.0
Asp.net core v1.0
chang kuo-chao
 
钱宝坤:多浏览器集成的JavaScript单元测试工具
钱宝坤:多浏览器集成的JavaScript单元测试工具钱宝坤:多浏览器集成的JavaScript单元测试工具
钱宝坤:多浏览器集成的JavaScript单元测试工具taobao.com
 
開發環境建置
開發環境建置開發環境建置
開發環境建置
Shengyou Fan
 
企業導入微服務實戰 - updated
企業導入微服務實戰 - updated企業導入微服務實戰 - updated
企業導入微服務實戰 - updated
Paul Chao
 
廣宣學堂: 企業導入微服務實戰
廣宣學堂: 企業導入微服務實戰廣宣學堂: 企業導入微服務實戰
廣宣學堂: 企業導入微服務實戰
Paul Chao
 
全新 Windows Server 2019 容器技術 及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)
全新 Windows Server 2019 容器技術及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)全新 Windows Server 2019 容器技術及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)
全新 Windows Server 2019 容器技術 及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)
Will Huang
 
Windows Container 101: dotNET, Container, Kubernetes
Windows Container 101: dotNET, Container, KubernetesWindows Container 101: dotNET, Container, Kubernetes
Windows Container 101: dotNET, Container, Kubernetes
Will Huang
 
DEV305 - ASP.NET 5 開發攻略
DEV305 - ASP.NET 5 開發攻略DEV305 - ASP.NET 5 開發攻略
DEV305 - ASP.NET 5 開發攻略
Will Huang
 
Docker tutorial
Docker tutorialDocker tutorial
Docker tutorial
azole Lai
 
Scrum gathering 2012 shanghai 精益与持续改进分会场演讲话题: 大型企业ci平台建设和实施分享(陈小光)
Scrum gathering 2012 shanghai  精益与持续改进分会场演讲话题: 大型企业ci平台建设和实施分享(陈小光)Scrum gathering 2012 shanghai  精益与持续改进分会场演讲话题: 大型企业ci平台建设和实施分享(陈小光)
Scrum gathering 2012 shanghai 精益与持续改进分会场演讲话题: 大型企业ci平台建设和实施分享(陈小光)
LetAgileFly
 

Similar to 把玩 Jenkins CI (20)

Continuous Delivery: automated testing, continuous integration and continuous...
Continuous Delivery: automated testing, continuous integration and continuous...Continuous Delivery: automated testing, continuous integration and continuous...
Continuous Delivery: automated testing, continuous integration and continuous...
 
Git&Github Tutorial
Git&Github TutorialGit&Github Tutorial
Git&Github Tutorial
 
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
 
Linux Container Introduction
Linux Container IntroductionLinux Container Introduction
Linux Container Introduction
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
 
企業導入微服務實戰 - updated
企業導入微服務實戰 - updated企業導入微服務實戰 - updated
企業導入微服務實戰 - updated
 
用 Docker 改善團隊合作模式
用 Docker 改善團隊合作模式用 Docker 改善團隊合作模式
用 Docker 改善團隊合作模式
 
2, installation
2, installation2, installation
2, installation
 
Asp.net core v1.0
Asp.net core v1.0Asp.net core v1.0
Asp.net core v1.0
 
Asp.net core v1.0
Asp.net core v1.0Asp.net core v1.0
Asp.net core v1.0
 
钱宝坤:多浏览器集成的JavaScript单元测试工具
钱宝坤:多浏览器集成的JavaScript单元测试工具钱宝坤:多浏览器集成的JavaScript单元测试工具
钱宝坤:多浏览器集成的JavaScript单元测试工具
 
開發環境建置
開發環境建置開發環境建置
開發環境建置
 
企業導入微服務實戰 - updated
企業導入微服務實戰 - updated企業導入微服務實戰 - updated
企業導入微服務實戰 - updated
 
廣宣學堂: 企業導入微服務實戰
廣宣學堂: 企業導入微服務實戰廣宣學堂: 企業導入微服務實戰
廣宣學堂: 企業導入微服務實戰
 
全新 Windows Server 2019 容器技術 及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)
全新 Windows Server 2019 容器技術及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)全新 Windows Server 2019 容器技術及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)
全新 Windows Server 2019 容器技術 及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)
 
Windows Container 101: dotNET, Container, Kubernetes
Windows Container 101: dotNET, Container, KubernetesWindows Container 101: dotNET, Container, Kubernetes
Windows Container 101: dotNET, Container, Kubernetes
 
DEV305 - ASP.NET 5 開發攻略
DEV305 - ASP.NET 5 開發攻略DEV305 - ASP.NET 5 開發攻略
DEV305 - ASP.NET 5 開發攻略
 
Docker tutorial
Docker tutorialDocker tutorial
Docker tutorial
 
Scrum gathering 2012 shanghai 精益与持续改进分会场演讲话题: 大型企业ci平台建设和实施分享(陈小光)
Scrum gathering 2012 shanghai  精益与持续改进分会场演讲话题: 大型企业ci平台建设和实施分享(陈小光)Scrum gathering 2012 shanghai  精益与持续改进分会场演讲话题: 大型企业ci平台建设和实施分享(陈小光)
Scrum gathering 2012 shanghai 精益与持续改进分会场演讲话题: 大型企业ci平台建设和实施分享(陈小光)
 

More from Hao Lee

客製化換頁動畫
客製化換頁動畫客製化換頁動畫
客製化換頁動畫
Hao Lee
 
Coding Freestyle
Coding FreestyleCoding Freestyle
Coding Freestyle
Hao Lee
 
SceneKit 簡介
SceneKit 簡介SceneKit 簡介
SceneKit 簡介
Hao Lee
 
105-2 iOS程式設計(十七)
105-2 iOS程式設計(十七)105-2 iOS程式設計(十七)
105-2 iOS程式設計(十七)
Hao Lee
 
105-2 iOS程式設計(十五)
105-2 iOS程式設計(十五)105-2 iOS程式設計(十五)
105-2 iOS程式設計(十五)
Hao Lee
 
105-2 iOS程式設計(十四)
105-2 iOS程式設計(十四)105-2 iOS程式設計(十四)
105-2 iOS程式設計(十四)
Hao Lee
 
105-2 iOS程式設計(十三)
105-2 iOS程式設計(十三)105-2 iOS程式設計(十三)
105-2 iOS程式設計(十三)
Hao Lee
 
105-2 iOS程式設計(十二)
105-2 iOS程式設計(十二)105-2 iOS程式設計(十二)
105-2 iOS程式設計(十二)
Hao Lee
 
105-2 iOS程式設計(十一)
105-2 iOS程式設計(十一)105-2 iOS程式設計(十一)
105-2 iOS程式設計(十一)
Hao Lee
 
105-2 iOS程式設計(十)
105-2 iOS程式設計(十)105-2 iOS程式設計(十)
105-2 iOS程式設計(十)
Hao Lee
 
105-2 iOS程式設計(九)
105-2 iOS程式設計(九)105-2 iOS程式設計(九)
105-2 iOS程式設計(九)
Hao Lee
 
105-2 iOS程式設計(八)
105-2 iOS程式設計(八)105-2 iOS程式設計(八)
105-2 iOS程式設計(八)
Hao Lee
 
105-2 iOS程式設計(七)
105-2 iOS程式設計(七)105-2 iOS程式設計(七)
105-2 iOS程式設計(七)
Hao Lee
 
105-2 iOS程式設計(六)
105-2 iOS程式設計(六)105-2 iOS程式設計(六)
105-2 iOS程式設計(六)
Hao Lee
 
105-2 iOS程式設計(五)
105-2 iOS程式設計(五)105-2 iOS程式設計(五)
105-2 iOS程式設計(五)
Hao Lee
 
105-2 iOS程式設計(四)
105-2 iOS程式設計(四)105-2 iOS程式設計(四)
105-2 iOS程式設計(四)
Hao Lee
 
105-2 iOS程式設計(三)
105-2 iOS程式設計(三)105-2 iOS程式設計(三)
105-2 iOS程式設計(三)
Hao Lee
 
105-2 iOS程式設計(二)
105-2 iOS程式設計(二) 105-2 iOS程式設計(二)
105-2 iOS程式設計(二)
Hao Lee
 
105-2 iOS程式設計(一)
105-2 iOS程式設計(一)105-2 iOS程式設計(一)
105-2 iOS程式設計(一)
Hao Lee
 

More from Hao Lee (19)

客製化換頁動畫
客製化換頁動畫客製化換頁動畫
客製化換頁動畫
 
Coding Freestyle
Coding FreestyleCoding Freestyle
Coding Freestyle
 
SceneKit 簡介
SceneKit 簡介SceneKit 簡介
SceneKit 簡介
 
105-2 iOS程式設計(十七)
105-2 iOS程式設計(十七)105-2 iOS程式設計(十七)
105-2 iOS程式設計(十七)
 
105-2 iOS程式設計(十五)
105-2 iOS程式設計(十五)105-2 iOS程式設計(十五)
105-2 iOS程式設計(十五)
 
105-2 iOS程式設計(十四)
105-2 iOS程式設計(十四)105-2 iOS程式設計(十四)
105-2 iOS程式設計(十四)
 
105-2 iOS程式設計(十三)
105-2 iOS程式設計(十三)105-2 iOS程式設計(十三)
105-2 iOS程式設計(十三)
 
105-2 iOS程式設計(十二)
105-2 iOS程式設計(十二)105-2 iOS程式設計(十二)
105-2 iOS程式設計(十二)
 
105-2 iOS程式設計(十一)
105-2 iOS程式設計(十一)105-2 iOS程式設計(十一)
105-2 iOS程式設計(十一)
 
105-2 iOS程式設計(十)
105-2 iOS程式設計(十)105-2 iOS程式設計(十)
105-2 iOS程式設計(十)
 
105-2 iOS程式設計(九)
105-2 iOS程式設計(九)105-2 iOS程式設計(九)
105-2 iOS程式設計(九)
 
105-2 iOS程式設計(八)
105-2 iOS程式設計(八)105-2 iOS程式設計(八)
105-2 iOS程式設計(八)
 
105-2 iOS程式設計(七)
105-2 iOS程式設計(七)105-2 iOS程式設計(七)
105-2 iOS程式設計(七)
 
105-2 iOS程式設計(六)
105-2 iOS程式設計(六)105-2 iOS程式設計(六)
105-2 iOS程式設計(六)
 
105-2 iOS程式設計(五)
105-2 iOS程式設計(五)105-2 iOS程式設計(五)
105-2 iOS程式設計(五)
 
105-2 iOS程式設計(四)
105-2 iOS程式設計(四)105-2 iOS程式設計(四)
105-2 iOS程式設計(四)
 
105-2 iOS程式設計(三)
105-2 iOS程式設計(三)105-2 iOS程式設計(三)
105-2 iOS程式設計(三)
 
105-2 iOS程式設計(二)
105-2 iOS程式設計(二) 105-2 iOS程式設計(二)
105-2 iOS程式設計(二)
 
105-2 iOS程式設計(一)
105-2 iOS程式設計(一)105-2 iOS程式設計(一)
105-2 iOS程式設計(一)
 

把玩 Jenkins CI