SlideShare a Scribd company logo
1 of 26
Download to read offline
Using JENKINS shared libraries
Jenkins User Conference TLv 2018 episode:
Yoram Michaeli
reinforced by Tikal knowledge
The Jenkins Pipeline
force awakens
Copyright	@	2018	JFrog - All	rights	reserved		|	juc-il.jfrog.com
Yoram Michaeli
Tikal Knowledge
DevOps Tech Leader
Jedi MASTER
Copyright	@	2018	JFrog	- All	rights	reserved		|	juc-il.jfrog.comUser Conference
Copyright	@	2018	JFrog	- All	rights	reserved		|	juc-il.jfrog.comUser Conference
Agenda
•The	use	case
•Pure	Jenkinsfile	implementation
•What	is	a	shared	library?
•Steps	examples
•Flow	implementation	using	shared	library
•The	Tikal	reference
Copyright	@	2018	JFrog	- All	rights	reserved		|	juc-il.jfrog.comUser Conference
The
use case
Copyright	@	2018	JFrog	- All	rights	reserved		|	juc-il.jfrog.comUser Conference
GIT	CHECKOUT
INSTALL	PYTHON	MODULES
RUN	PYTHON	SCRIPT
GIT	URL
BRANCH
CREDENTIAL
PYTHON	
MODULES	
TO	INSTALL
PYTHON	
SCRIPT	TO	
RUN
The use case
Copyright	@	2018	JFrog	- All	rights	reserved		|	juc-il.jfrog.comUser Conference
Pipeline
implementation
Copyright	@	2018	JFrog	- All	rights	reserved		|	juc-il.jfrog.comUser Conference
Pipeline implementation
Copyright	@	2018	JFrog	- All	rights	reserved		|	juc-il.jfrog.comUser Conference
?
Pipeline copy-paste implementation
• COPY-PASTE
• Maintenance
?
Upstream & downstream
• COPY-PASTE
• Maintenance
• Follow
Jenkins
shared library
Copyright	@	2018	JFrog	- All	rights	reserved		|	juc-il.jfrog.comUser Conference
Jenkins shared library
Shared	Library	repository
Copyright	@	2018	JFrog	- All	rights	reserved		|	juc-il.jfrog.comUser Conference
Jenkins	server	configuration	form
Jenkins shared library
Copyright	@	2018	JFrog	- All	rights	reserved		|	juc-il.jfrog.comUser Conference
Jenkins shared library reference
library identifier: 'custom-lib@master', retriever: modernSCM(
[$class: 'GitSCMSource',
remote: 'git@git.mycorp.com:my-jenkins-utils.git',
credentialsId: 'my-private-key'])
Option	2:	Jenkinsfile	with	direct	library	reference
Option	3:	Jenkinsfile	with	implicit	library	reference
Copyright	@	2018	JFrog	- All	rights	reserved		|	juc-il.jfrog.comUser Conference
Option	1:	Jenkinsfile	with	indirect	library	reference
Jenkins
Steps
Copyright	@	2018	JFrog	- All	rights	reserved		|	juc-il.jfrog.comUser Conference
Steps
tplRepositoryDirectoryCheckout.groovy
tplPythonRequirements.groovy
tplPythonScriptRun.groovy
Copyright	@	2018	JFrog	- All	rights	reserved		|	juc-il.jfrog.comUser Conference
Steps usage
Copyright	@	2018	JFrog	- All	rights	reserved		|	juc-il.jfrog.comUser Conference
• MaintenancE
Flow implementation
Copyright	@	2018	JFrog	- All	rights	reserved		|	juc-il.jfrog.comUser Conference
Flow implementation
Base class
Copyright	@	2018	JFrog	- All	rights	reserved		|	juc-il.jfrog.comUser Conference
Flow implementation
Extended class
Copyright	@	2018	JFrog	- All	rights	reserved		|	juc-il.jfrog.comUser Conference
Flow implementation
Jenkinsfile
Copyright	@	2018	JFrog	- All	rights	reserved		|	juc-il.jfrog.comUser Conference
• COPY-PASTE
• Maintenance
• Follow
Implement using library & steps
Copyright	@	2018	JFrog	- All	rights	reserved		|	juc-il.jfrog.comUser Conference
A spark of hope
Copyright	@	2018	JFrog	- All	rights	reserved		|	juc-il.jfrog.comUser Conference
Shared library
Shared Experience
tikal-pipelib
https://github.com/tikalk/tikal-pipelib
tikal-pipelib-touchstone
https://github.com/tikalk/tikal-pipelib-touchstone
Copyright	@	2018	JFrog	- All	rights	reserved		|	juc-il.jfrog.comUser Conference
Thank you!

More Related Content

What's hot

What's hot (20)

GitOps with Gitkube
GitOps with GitkubeGitOps with Gitkube
GitOps with Gitkube
 
Issue & bug tracking
Issue & bug trackingIssue & bug tracking
Issue & bug tracking
 
Gerrit Code Review migrations step-by-step
Gerrit Code Review migrations step-by-stepGerrit Code Review migrations step-by-step
Gerrit Code Review migrations step-by-step
 
Git strategies for DevOps
Git strategies for DevOpsGit strategies for DevOps
Git strategies for DevOps
 
Gerrit multi-master / multi-site at GerritHub
Gerrit multi-master / multi-site at GerritHubGerrit multi-master / multi-site at GerritHub
Gerrit multi-master / multi-site at GerritHub
 
Git in the Enterprise: How to succeed at DevOps using Git and a monorepo
Git in the Enterprise: How to succeed at DevOps using Git and a monorepoGit in the Enterprise: How to succeed at DevOps using Git and a monorepo
Git in the Enterprise: How to succeed at DevOps using Git and a monorepo
 
From Copycat Codelets to an AI Market Internet Protocol
From Copycat Codelets to an AI Market Internet ProtocolFrom Copycat Codelets to an AI Market Internet Protocol
From Copycat Codelets to an AI Market Internet Protocol
 
Real User Monitoring con Navigation Timing API, Tag Manager e Google Analytics
Real User Monitoring con Navigation Timing API, Tag Manager e Google AnalyticsReal User Monitoring con Navigation Timing API, Tag Manager e Google Analytics
Real User Monitoring con Navigation Timing API, Tag Manager e Google Analytics
 
GitOps w/argocd
GitOps w/argocdGitOps w/argocd
GitOps w/argocd
 
Infinite gerrit
Infinite gerritInfinite gerrit
Infinite gerrit
 
Git and GitGHub Basics
Git and GitGHub BasicsGit and GitGHub Basics
Git and GitGHub Basics
 
Intro to git and git hub
Intro to git and git hubIntro to git and git hub
Intro to git and git hub
 
Redux with React Native
Redux with React NativeRedux with React Native
Redux with React Native
 
Containers and Kubernetes without limits
Containers and Kubernetes without limitsContainers and Kubernetes without limits
Containers and Kubernetes without limits
 
12th Meeting OpenChain Reference Tooling Work Group - 25th March - Slides
12th Meeting OpenChain Reference Tooling Work Group - 25th March - Slides12th Meeting OpenChain Reference Tooling Work Group - 25th March - Slides
12th Meeting OpenChain Reference Tooling Work Group - 25th March - Slides
 
React Native + Redux, a game changer for mobile application development?
React Native + Redux, a game changer for mobile application development?React Native + Redux, a game changer for mobile application development?
React Native + Redux, a game changer for mobile application development?
 
Know the Science behind WorkFlows using Git & GitHhub
Know the Science behind WorkFlows using Git & GitHhubKnow the Science behind WorkFlows using Git & GitHhub
Know the Science behind WorkFlows using Git & GitHhub
 
Git Going w/ Git
Git Going w/ GitGit Going w/ Git
Git Going w/ Git
 
Overview of git
Overview of gitOverview of git
Overview of git
 
Cloud Technical Challenges
Cloud Technical ChallengesCloud Technical Challenges
Cloud Technical Challenges
 

Similar to The Jenkins Pipeline Force Awakens - Jenkins User Conference Tel-Aviv 2018

ITCamp 2011 - Stephen Forte - Kanban
ITCamp 2011 - Stephen Forte - KanbanITCamp 2011 - Stephen Forte - Kanban
ITCamp 2011 - Stephen Forte - Kanban
ITCamp
 
GitOps Core Concepts & Ways of Structuring Your Repos
GitOps Core Concepts & Ways of Structuring Your ReposGitOps Core Concepts & Ways of Structuring Your Repos
GitOps Core Concepts & Ways of Structuring Your Repos
Weaveworks
 

Similar to The Jenkins Pipeline Force Awakens - Jenkins User Conference Tel-Aviv 2018 (20)

Java and Serverless - A Match Made In Heaven, Part 1
Java and Serverless - A Match Made In Heaven, Part 1Java and Serverless - A Match Made In Heaven, Part 1
Java and Serverless - A Match Made In Heaven, Part 1
 
From shipping rpms to helm charts - Lessons learned and best practices
From shipping rpms to helm charts - Lessons learned and best practicesFrom shipping rpms to helm charts - Lessons learned and best practices
From shipping rpms to helm charts - Lessons learned and best practices
 
Landscape of Eclipse MicroProfile Tools
Landscape of Eclipse MicroProfile ToolsLandscape of Eclipse MicroProfile Tools
Landscape of Eclipse MicroProfile Tools
 
Diagnose Your Microservices
Diagnose Your MicroservicesDiagnose Your Microservices
Diagnose Your Microservices
 
Netconf yang
Netconf yangNetconf yang
Netconf yang
 
Oracle Code One 2018 Feedback (Server Side / Japanese)
Oracle Code One 2018 Feedback (Server Side / Japanese)Oracle Code One 2018 Feedback (Server Side / Japanese)
Oracle Code One 2018 Feedback (Server Side / Japanese)
 
Flink Forward San Francisco 2018: Andrew Gao & Jeff Sharpe - "Finding Bad Ac...
Flink Forward San Francisco 2018: Andrew Gao &  Jeff Sharpe - "Finding Bad Ac...Flink Forward San Francisco 2018: Andrew Gao &  Jeff Sharpe - "Finding Bad Ac...
Flink Forward San Francisco 2018: Andrew Gao & Jeff Sharpe - "Finding Bad Ac...
 
Shrinking the container_zurich_july_2018
Shrinking the container_zurich_july_2018Shrinking the container_zurich_july_2018
Shrinking the container_zurich_july_2018
 
Kubernetes is hard! Lessons learned taking our apps to Kubernetes - Eldad Ass...
Kubernetes is hard! Lessons learned taking our apps to Kubernetes - Eldad Ass...Kubernetes is hard! Lessons learned taking our apps to Kubernetes - Eldad Ass...
Kubernetes is hard! Lessons learned taking our apps to Kubernetes - Eldad Ass...
 
2018 02 20-jeg_index
2018 02 20-jeg_index2018 02 20-jeg_index
2018 02 20-jeg_index
 
Artifactory Essentials Workshop on August 27, 2020 by JFrog
Artifactory Essentials Workshop on August 27, 2020 by JFrogArtifactory Essentials Workshop on August 27, 2020 by JFrog
Artifactory Essentials Workshop on August 27, 2020 by JFrog
 
ITCamp 2011 - Stephen Forte - Kanban
ITCamp 2011 - Stephen Forte - KanbanITCamp 2011 - Stephen Forte - Kanban
ITCamp 2011 - Stephen Forte - Kanban
 
Building A Self Service Streaming Platform at Pinterest - Steven Bairos-Novak...
Building A Self Service Streaming Platform at Pinterest - Steven Bairos-Novak...Building A Self Service Streaming Platform at Pinterest - Steven Bairos-Novak...
Building A Self Service Streaming Platform at Pinterest - Steven Bairos-Novak...
 
Serverless Kotlin
Serverless KotlinServerless Kotlin
Serverless Kotlin
 
Refactoring to Go modules: why and how
Refactoring to Go modules: why and howRefactoring to Go modules: why and how
Refactoring to Go modules: why and how
 
GitOps Core Concepts & Ways of Structuring Your Repos
GitOps Core Concepts & Ways of Structuring Your ReposGitOps Core Concepts & Ways of Structuring Your Repos
GitOps Core Concepts & Ways of Structuring Your Repos
 
Cloud native - CI/CD
Cloud native - CI/CDCloud native - CI/CD
Cloud native - CI/CD
 
“Quantum” Performance Effects: beyond the Core
“Quantum” Performance Effects: beyond the Core“Quantum” Performance Effects: beyond the Core
“Quantum” Performance Effects: beyond the Core
 
Building a Kubernetes Powered Central Go Modules Repository
Building a Kubernetes Powered Central Go Modules RepositoryBuilding a Kubernetes Powered Central Go Modules Repository
Building a Kubernetes Powered Central Go Modules Repository
 
Generic Test Automation Architecture
Generic Test Automation ArchitectureGeneric Test Automation Architecture
Generic Test Automation Architecture
 

More from Yoram Michaeli

More from Yoram Michaeli (12)

Jenkins Pipeline 101 and TCI - presentation and workshop
Jenkins Pipeline 101 and TCI - presentation and workshopJenkins Pipeline 101 and TCI - presentation and workshop
Jenkins Pipeline 101 and TCI - presentation and workshop
 
Issue-in-the-middle-here
Issue-in-the-middle-hereIssue-in-the-middle-here
Issue-in-the-middle-here
 
Continuous integration introduction
Continuous integration introductionContinuous integration introduction
Continuous integration introduction
 
הרכב והעתיד The Car and the future
הרכב והעתיד The Car and the futureהרכב והעתיד The Car and the future
הרכב והעתיד The Car and the future
 
The Jenkins pipeline force awakens
The Jenkins pipeline force awakensThe Jenkins pipeline force awakens
The Jenkins pipeline force awakens
 
The Jenkins Force Awaken Again @ JAM #6 meetup
 The Jenkins Force Awaken Again @ JAM #6 meetup The Jenkins Force Awaken Again @ JAM #6 meetup
The Jenkins Force Awaken Again @ JAM #6 meetup
 
Hello DevOps World
Hello DevOps WorldHello DevOps World
Hello DevOps World
 
Source-it Version-contol & GIT - floating-lesson
Source-it Version-contol & GIT - floating-lessonSource-it Version-contol & GIT - floating-lesson
Source-it Version-contol & GIT - floating-lesson
 
Li liq liqui liquibase
Li liq liqui liquibaseLi liq liqui liquibase
Li liq liqui liquibase
 
Choosing Git hosting service
Choosing Git hosting serviceChoosing Git hosting service
Choosing Git hosting service
 
Lets git to it
Lets git to itLets git to it
Lets git to it
 
Now i git it!!!
Now i git it!!!Now i git it!!!
Now i git it!!!
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 

The Jenkins Pipeline Force Awakens - Jenkins User Conference Tel-Aviv 2018