SlideShare une entreprise Scribd logo
1  sur  56
Télécharger pour lire hors ligne
把玩 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

Contenu connexe

Tendances

Slide 4 Interaction Diagram
Slide 4 Interaction DiagramSlide 4 Interaction Diagram
Slide 4 Interaction DiagramNiloy Rocker
 
Usability Engineering Process Flow Model - Sivaprasath Selvaraj
Usability Engineering Process Flow Model - Sivaprasath SelvarajUsability Engineering Process Flow Model - Sivaprasath Selvaraj
Usability Engineering Process Flow Model - Sivaprasath SelvarajSivaprasath Selvaraj
 
Aspect-Oriented Software Development with Use Cases
Aspect-Oriented Software Development with Use CasesAspect-Oriented Software Development with Use Cases
Aspect-Oriented Software Development with Use Caseswww.myassignmenthelp.net
 
UML Architecture and Views
UML Architecture and ViewsUML Architecture and Views
UML Architecture and ViewsKumar
 
9 Real Life Applications of Java
9 Real Life Applications of Java9 Real Life Applications of Java
9 Real Life Applications of JavaPrachiVarshney7
 
CSharp Presentation
CSharp PresentationCSharp Presentation
CSharp PresentationVishwa Mohan
 
Object Oriented Analysis Design using UML
Object Oriented Analysis Design using UMLObject Oriented Analysis Design using UML
Object Oriented Analysis Design using UMLAjit Nayak
 
Introduction to Database Management Systems
Introduction to Database Management SystemsIntroduction to Database Management Systems
Introduction to Database Management SystemsDr. C.V. Suresh Babu
 
Fundamental principles of Usability and User Centred Design
Fundamental principles of Usability and User Centred DesignFundamental principles of Usability and User Centred Design
Fundamental principles of Usability and User Centred DesignBART RADKA
 
Responsive web designing ppt(1)
Responsive web designing ppt(1)Responsive web designing ppt(1)
Responsive web designing ppt(1)admecindia1
 
C# 101: Intro to Programming with C#
C# 101: Intro to Programming with C#C# 101: Intro to Programming with C#
C# 101: Intro to Programming with C#Hawkman Academy
 

Tendances (20)

Slide 4 Interaction Diagram
Slide 4 Interaction DiagramSlide 4 Interaction Diagram
Slide 4 Interaction Diagram
 
android menus
android menusandroid menus
android menus
 
Usability Engineering Process Flow Model - Sivaprasath Selvaraj
Usability Engineering Process Flow Model - Sivaprasath SelvarajUsability Engineering Process Flow Model - Sivaprasath Selvaraj
Usability Engineering Process Flow Model - Sivaprasath Selvaraj
 
Methodologies in OOAD
Methodologies in OOADMethodologies in OOAD
Methodologies in OOAD
 
Aspect-Oriented Software Development with Use Cases
Aspect-Oriented Software Development with Use CasesAspect-Oriented Software Development with Use Cases
Aspect-Oriented Software Development with Use Cases
 
UML Architecture and Views
UML Architecture and ViewsUML Architecture and Views
UML Architecture and Views
 
9 Real Life Applications of Java
9 Real Life Applications of Java9 Real Life Applications of Java
9 Real Life Applications of Java
 
Chapter2 j2ee
Chapter2 j2eeChapter2 j2ee
Chapter2 j2ee
 
CSharp Presentation
CSharp PresentationCSharp Presentation
CSharp Presentation
 
What Is Usability?
What Is Usability?What Is Usability?
What Is Usability?
 
Data models
Data modelsData models
Data models
 
HTML5 Canvas
HTML5 CanvasHTML5 Canvas
HTML5 Canvas
 
Object Oriented Analysis Design using UML
Object Oriented Analysis Design using UMLObject Oriented Analysis Design using UML
Object Oriented Analysis Design using UML
 
Java J2EE
Java J2EEJava J2EE
Java J2EE
 
Introduction to Database Management Systems
Introduction to Database Management SystemsIntroduction to Database Management Systems
Introduction to Database Management Systems
 
Fundamental principles of Usability and User Centred Design
Fundamental principles of Usability and User Centred DesignFundamental principles of Usability and User Centred Design
Fundamental principles of Usability and User Centred Design
 
Responsive web designing ppt(1)
Responsive web designing ppt(1)Responsive web designing ppt(1)
Responsive web designing ppt(1)
 
Sql lite android
Sql lite androidSql lite android
Sql lite android
 
C# 101: Intro to Programming with C#
C# 101: Intro to Programming with C#C# 101: Intro to Programming with C#
C# 101: Intro to Programming with C#
 
INTRODUCTION TO DATABASE
INTRODUCTION TO DATABASEINTRODUCTION TO DATABASE
INTRODUCTION TO DATABASE
 

Similaire à 把玩 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 TutorialTing 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
企業導入微服務實戰 - updatedPaul Chao
 
用 Docker 改善團隊合作模式
用 Docker 改善團隊合作模式用 Docker 改善團隊合作模式
用 Docker 改善團隊合作模式Bo-Yi Wu
 
2, installation
2, installation2, installation
2, installationted-xu
 
Asp.net core v1.0
Asp.net core v1.0Asp.net core v1.0
Asp.net core v1.0國昭 張
 
钱宝坤:多浏览器集成的JavaScript单元测试工具
钱宝坤:多浏览器集成的JavaScript单元测试工具钱宝坤:多浏览器集成的JavaScript单元测试工具
钱宝坤:多浏览器集成的JavaScript单元测试工具taobao.com
 
開發環境建置
開發環境建置開發環境建置
開發環境建置Shengyou Fan
 
廣宣學堂: 企業導入微服務實戰
廣宣學堂: 企業導入微服務實戰廣宣學堂: 企業導入微服務實戰
廣宣學堂: 企業導入微服務實戰Paul Chao
 
企業導入微服務實戰 - updated
企業導入微服務實戰 - updated企業導入微服務實戰 - updated
企業導入微服務實戰 - updatedPaul 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, KubernetesWill 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 tutorialazole Lai
 
Scrum gathering 2012 shanghai 精益与持续改进分会场演讲话题: 大型企业ci平台建设和实施分享(陈小光)
Scrum gathering 2012 shanghai  精益与持续改进分会场演讲话题: 大型企业ci平台建设和实施分享(陈小光)Scrum gathering 2012 shanghai  精益与持续改进分会场演讲话题: 大型企业ci平台建设和实施分享(陈小光)
Scrum gathering 2012 shanghai 精益与持续改进分会场演讲话题: 大型企业ci平台建设和实施分享(陈小光)LetAgileFly
 

Similaire à 把玩 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平台建设和实施分享(陈小光)
 

Plus de Hao Lee

客製化換頁動畫
客製化換頁動畫客製化換頁動畫
客製化換頁動畫Hao Lee
 
Coding Freestyle
Coding FreestyleCoding Freestyle
Coding FreestyleHao 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
 

Plus de 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