SlideShare a Scribd company logo
1 of 16
Download to read offline
JENKINS
Written by Samuel Jiang
AGENDA
Jenkins Introduction
Jenkins 2.0
Jenkins Build a Job
Jenkins Slave
Jenkins Role
JENKINS INTRODUCTION
最早持續整合的服務代表
⼯工具
多項社群開發之插件,故
能隨專案不同發展出多樣
性流程
JENKINS 2.0
Pipeline 

有別於以往需要在眾多選項
設定做調整,現改以DSL語
法撰寫整個流程步驟
Blue Ocean

改善舊有UI , 更更貼近⼯工作流
程表現⽅方式
DEMO 範例例
https://github.com/jyangchisyan/workshop_demo_repository.git
範例例分別在各不同分⽀支
請各位分別試試不同分⽀支執⾏行行結果以及相關操作
JENKINS BUILD A JOB
Sudo apt-get install Jenkins
go to Jenkins web page and follow steps
Create a pipeline job
Choose pipeline script and choose Hello World
Save & Run it !
JENKINSFILE
//Declarative Pipeline正規陳述寫法,
須明確定義宣告相關敘述

Pipeline{

agent any

stages{

stage(‘Build’){

steps{

echo ‘Build’ 

}

}

}

}
//Script Pipeline 簡明寫法當執⾏行行的
動作只執⾏行行在Jenkins Master 上,
可採⽤用此類寫法

Node{

checkout scm

}
JENKINSFILE STAGE & STEPS
Example:

Branch- stage_and_steps
Pipeline{

agent any

stages{

stage('這是Stage, 描述這⼀一階段要做什什麼'){

steps{

echo '這是steps, 執⾏行行這階段所要執⾏行行的動作' 

}

}

}

}
JENKINFILE PARAMETER
Example:

Branch- parameter_echo
parameters{//參參數放置位置

string(name: 'PERSON', defaultValue: 'Jenkins 先⽣生', description:
'Who should I say hello to?’)//依參參數類型定義填入所需資訊

}

steps{

echo "您好 ${params.PERSON}”//以參參數名讀取參參數

}

JENKINSFILE SCRIPT & WHEN
When, stage 判斷是否要
執⾏行行的條件
stage(‘’){

when{

expression{}

}

steps{//上述的when需成立,
steps才會執⾏行行動作

}

}
Scripts, steps執⾏行行步驟中所添
加判斷或function等動作
stage(‘’){

steps{

script{//執⾏行行script內的function

if(){

}else if(){

}

}

}

}
JENKINSFILE FUNCTION
Example:

Branch- def_library
//以pipeline外部來來額外定義臨臨時的function 做共⽤用

def callFunction(){ //定義function

echo ‘call function’

}

.

.

.

steps{ //pipeline 內部的steps 直接呼叫

callFunction()

}
JENKINSFILE POST
Example:

Branch- post
//所有steps 結束後會依結果判斷來來執⾏行行post內動作

post{

always{

echo ‘after stage always execute it’

}

success{

echo 'if job execute success, execute it'

}

}
JENKINS SLAVE
安裝 SSH Agent Plugin
進入管理理Jenkins,管理理節點
新增⼀一Node
設定SSH登入Node的系統⽬目錄
設定SSH ip 和 username/password
執⾏行行,Jenkins⾃自動下載agent ⾄至
Slave 端
JENKINS PARALLEL
stage(‘’){

parallel{//宣告平⾏行行處理理,帶全部執⾏行行完才會做下⼀一個stage

stage(‘test1’){

agent{

label ‘’//指定執⾏行行的節點

}

steps{

}

}

stage(‘test2’){

agent{

label ‘’

}

steps{

}

}

}

}
有時動作會希望做平⾏行行處理理,
減少執⾏行行時間
利利⽤用parallel 和Slave 來來做多
台分⼯工
JENKINS SECURITY ROLE
Jenkins 本⾝身即是⼀一套系統,
同時給多⼈人操作,必定需
有安全考量量和設定。
利利⽤用 Role Strategy Plugin 針
對每個⼈人和相關Project 作
群組化管理理
REFERENCE
Jenkins Handbook

https://jenkins.io/doc/book/

More Related Content

Similar to Jenkins introduction

容器驅動開發 - .NET Conf 2017 @ 台中
容器驅動開發 - .NET Conf 2017 @ 台中容器驅動開發 - .NET Conf 2017 @ 台中
容器驅動開發 - .NET Conf 2017 @ 台中Andrew Wu
 
打造你專屬的Xcode plugin
打造你專屬的Xcode plugin打造你專屬的Xcode plugin
打造你專屬的Xcode pluginYuhua Chen
 
Scrum gathering 2012 shanghai 精益与持续改进分会场演讲话题: 大型企业ci平台建设和实施分享(陈小光)
Scrum gathering 2012 shanghai  精益与持续改进分会场演讲话题: 大型企业ci平台建设和实施分享(陈小光)Scrum gathering 2012 shanghai  精益与持续改进分会场演讲话题: 大型企业ci平台建设和实施分享(陈小光)
Scrum gathering 2012 shanghai 精益与持续改进分会场演讲话题: 大型企业ci平台建设和实施分享(陈小光)LetAgileFly
 
Uc gui中文手册
Uc gui中文手册Uc gui中文手册
Uc gui中文手册호연 최
 
Coscup2011: porting android to brand-new cpu architecture
Coscup2011: porting android to brand-new cpu architecture Coscup2011: porting android to brand-new cpu architecture
Coscup2011: porting android to brand-new cpu architecture lusecheng
 
Docker容器微服務 x WorkShop
Docker容器微服務 x WorkShopDocker容器微服務 x WorkShop
Docker容器微服務 x WorkShopPhilip Zheng
 
Dev c++整合開發工具教學
Dev c++整合開發工具教學Dev c++整合開發工具教學
Dev c++整合開發工具教學Lin Steven
 
用 Drone 打造 輕量級容器持續交付平台
用 Drone 打造輕量級容器持續交付平台用 Drone 打造輕量級容器持續交付平台
用 Drone 打造 輕量級容器持續交付平台Bo-Yi Wu
 
轻松写出优雅的Java代码之check style
轻松写出优雅的Java代码之check style轻松写出优雅的Java代码之check style
轻松写出优雅的Java代码之check styleZhen Li
 
ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4
ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4
ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4twMVC
 
twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)
twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)
twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)twMVC
 
Subversion快速入门教程
Subversion快速入门教程Subversion快速入门教程
Subversion快速入门教程wensheng wei
 
Java Build Tool course in 2011
Java Build Tool course in 2011Java Build Tool course in 2011
Java Build Tool course in 2011Ching Yi Chan
 
Vs2013新功能介紹 twMVC#11
Vs2013新功能介紹 twMVC#11Vs2013新功能介紹 twMVC#11
Vs2013新功能介紹 twMVC#11twMVC
 
自动化运维管理
自动化运维管理自动化运维管理
自动化运维管理frankwsj
 
The way to continuous delivery
The way to continuous deliveryThe way to continuous delivery
The way to continuous deliveryQiao Liang
 
IoT開發平台NodeMCU
IoT開發平台NodeMCUIoT開發平台NodeMCU
IoT開發平台NodeMCU承翰 蔡
 
Java Web动态图表编程
Java Web动态图表编程Java Web动态图表编程
Java Web动态图表编程yiditushe
 
twMVC#12 | 如何在實務上使用 TDD 來開發
twMVC#12 | 如何在實務上使用 TDD 來開發twMVC#12 | 如何在實務上使用 TDD 來開發
twMVC#12 | 如何在實務上使用 TDD 來開發twMVC
 

Similar to Jenkins introduction (20)

容器驅動開發 - .NET Conf 2017 @ 台中
容器驅動開發 - .NET Conf 2017 @ 台中容器驅動開發 - .NET Conf 2017 @ 台中
容器驅動開發 - .NET Conf 2017 @ 台中
 
打造你專屬的Xcode plugin
打造你專屬的Xcode plugin打造你專屬的Xcode plugin
打造你專屬的Xcode plugin
 
Scrum gathering 2012 shanghai 精益与持续改进分会场演讲话题: 大型企业ci平台建设和实施分享(陈小光)
Scrum gathering 2012 shanghai  精益与持续改进分会场演讲话题: 大型企业ci平台建设和实施分享(陈小光)Scrum gathering 2012 shanghai  精益与持续改进分会场演讲话题: 大型企业ci平台建设和实施分享(陈小光)
Scrum gathering 2012 shanghai 精益与持续改进分会场演讲话题: 大型企业ci平台建设和实施分享(陈小光)
 
Uc gui中文手册
Uc gui中文手册Uc gui中文手册
Uc gui中文手册
 
Coscup2011: porting android to brand-new cpu architecture
Coscup2011: porting android to brand-new cpu architecture Coscup2011: porting android to brand-new cpu architecture
Coscup2011: porting android to brand-new cpu architecture
 
Docker容器微服務 x WorkShop
Docker容器微服務 x WorkShopDocker容器微服務 x WorkShop
Docker容器微服務 x WorkShop
 
Dev c++整合開發工具教學
Dev c++整合開發工具教學Dev c++整合開發工具教學
Dev c++整合開發工具教學
 
用 Drone 打造 輕量級容器持續交付平台
用 Drone 打造輕量級容器持續交付平台用 Drone 打造輕量級容器持續交付平台
用 Drone 打造 輕量級容器持續交付平台
 
轻松写出优雅的Java代码之check style
轻松写出优雅的Java代码之check style轻松写出优雅的Java代码之check style
轻松写出优雅的Java代码之check style
 
ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4
ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4
ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4
 
twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)
twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)
twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)
 
Subversion快速入门教程
Subversion快速入门教程Subversion快速入门教程
Subversion快速入门教程
 
Java Build Tool course in 2011
Java Build Tool course in 2011Java Build Tool course in 2011
Java Build Tool course in 2011
 
Jni文档
Jni文档Jni文档
Jni文档
 
Vs2013新功能介紹 twMVC#11
Vs2013新功能介紹 twMVC#11Vs2013新功能介紹 twMVC#11
Vs2013新功能介紹 twMVC#11
 
自动化运维管理
自动化运维管理自动化运维管理
自动化运维管理
 
The way to continuous delivery
The way to continuous deliveryThe way to continuous delivery
The way to continuous delivery
 
IoT開發平台NodeMCU
IoT開發平台NodeMCUIoT開發平台NodeMCU
IoT開發平台NodeMCU
 
Java Web动态图表编程
Java Web动态图表编程Java Web动态图表编程
Java Web动态图表编程
 
twMVC#12 | 如何在實務上使用 TDD 來開發
twMVC#12 | 如何在實務上使用 TDD 來開發twMVC#12 | 如何在實務上使用 TDD 來開發
twMVC#12 | 如何在實務上使用 TDD 來開發
 

Jenkins introduction