SlideShare una empresa de Scribd logo
1 de 27
Introduction to Jenkins
Abe Diaz
@abe238
Who am I?
• Developer -> Evangelist -> Program/Product
• Mobile Program Manager @
• Jenkins Enthusiast
• Contact Info:
• Twitter: @abe238
• info@abediaz.com
What is Jenkins?
• Jenkins is an open source continuous integration tool
written in Java. The project was forked from Hudson after
a dispute with Oracle.
• Jenkins provides continuous integration services for
software development. It is a server-based system
running in a servlet container such as Apache Tomcat.
• Jenkins is an award-winning application that monitors
executions of repeated jobs, such as building a software
project or jobs run by cron.
And what is continuous integration?
• Continuous Integration (CI) is a development practice
that requires developers to integrate code into a shared
repository several times a day. Each check-in is then
verified by an automated build, allowing teams to detect
problems early.
And why do I need this again?
The software development world is
a distributed one
Developer
Works on his machine
Checks in
code to repo
Source Control
(Git/TFS)
Grabs latest code
Build Artifacts (exe,
website, app)
Builds
Run Tests (Nunit,
MSTest, Gradle,
StyleCop, JSHint)
Publish Output to
Live Server
Post Build Steps
Deploy
Report
Back
How does Jenkins typically fit into my work?
Before you start - Jenkins and SCM
• Jenkins and configuration management tools like Chef and Puppet go hand in
hand.
• The reason for it is to have consistent environments.
• You should script out your Jenkins install and configuration.
• Also useful when using nodes.
Installing Jenkins
• Jenkins-CI.org
• Chocolatey.org
• Prerequisites: JAVA
Demo
• Install Jenkins via Chocolatey
• Verify Jenkins is running
Job Types
• Freestyle
• External
• Multi-config
Requisites for TFS & .NET Projects
• Microsoft Team Explorer Everywhere 2013
• .NET 4.5.1
• Easy: choco install visualstudio2013teamexplorer
Secondary Credentials
TFS Project Config
VisualStudio Online is a bit finicky
• When all fails, use plain commands.
Hey what about GIT
• There’s a plugin for that
Caveat Emptor
• With plugins like GIT-Plugin YMMV
• There are scenarios where you will need to script things
out anyhow.
• E.g. Needing specific parameters when cloning repos
• Shallow clones “--depth 1”
Demo
• Create first project
• Show GIT Support
• Choco install git
• MSBuild Plugin
• choco install microsoft-build-tools
Pre build, build and post build steps
• Pre build steps are great for items such as: StyleCop and JS minimizers.
• Build steps are for grabbing code, compiling and running tests.
• Post build steps are for communication, archival and deployments.
How are we using Jenkins
• Transitioned from TFS to Git
• Trigger Builds upon code checkin
• Run tests
• Deploy to specific AWS machines
• Report via Slack
• Archive and upload files to AWS (S3)
Housekeeping
• Backup Jenkins (if possible to the cloud)
• Recom: thinBackup
• Secure your instance
• LDAP
• Custom users
• Monitor critical instances
• Runscope
• Daily builds
• Let Jenkins manage version numbers
• Always test plugins before installing in production (Same goes for Jenkins)
• Uninstall all plugins that are not being used.
Job Reuse
• As your number of jobs grow, consider splitting the tasks into reusable parts
• Multi-Job
• Parameterized Builds
• This can be very useful when running tests
• Parameterized Triggers
Using Jenkins for CD
• Promoted Builds
• Workflows
• Can integrate with external processes
• Auto test Pull Requests
• Recom: Pull request builder plugin
External Integration
• Auto Update GH issues or JIRA tickets
• Create Documentation on the fly
• Recom: Doxygen
• Call any external API (Custom)
Using Nodes
• Jenkins has a Master/Slave architecture
• You can add as many nodes as needed.
• These can be generic or environment specific
• These can be used also for testing as nodes could be on a different OS
Demo
• Adding a node
Questions?

Más contenido relacionado

La actualidad más candente

Yale Jenkins Show and Tell
Yale Jenkins Show and TellYale Jenkins Show and Tell
Yale Jenkins Show and Tell
E. Camden Fisher
 

La actualidad más candente (20)

Jenkins CI
Jenkins CIJenkins CI
Jenkins CI
 
Jenkins tutorial
Jenkins tutorialJenkins tutorial
Jenkins tutorial
 
What is Jenkins | Jenkins Tutorial for Beginners | Edureka
What is Jenkins | Jenkins Tutorial for Beginners | EdurekaWhat is Jenkins | Jenkins Tutorial for Beginners | Edureka
What is Jenkins | Jenkins Tutorial for Beginners | Edureka
 
CICD with Jenkins
CICD with JenkinsCICD with Jenkins
CICD with Jenkins
 
Jenkins tutorial for beginners
Jenkins tutorial for beginnersJenkins tutorial for beginners
Jenkins tutorial for beginners
 
CI/CD (DevOps) 101
CI/CD (DevOps) 101CI/CD (DevOps) 101
CI/CD (DevOps) 101
 
Jenkins Pipelines
Jenkins PipelinesJenkins Pipelines
Jenkins Pipelines
 
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
 
Jenkins.pdf
Jenkins.pdfJenkins.pdf
Jenkins.pdf
 
Yale Jenkins Show and Tell
Yale Jenkins Show and TellYale Jenkins Show and Tell
Yale Jenkins Show and Tell
 
Jenkins for java world
Jenkins for java worldJenkins for java world
Jenkins for java world
 
Jenkins-CI
Jenkins-CIJenkins-CI
Jenkins-CI
 
CI and CD with Jenkins
CI and CD with JenkinsCI and CD with Jenkins
CI and CD with Jenkins
 
Introduction to CICD
Introduction to CICDIntroduction to CICD
Introduction to CICD
 
Getting started with Jenkins
Getting started with JenkinsGetting started with Jenkins
Getting started with Jenkins
 
Introduction to CI/CD
Introduction to CI/CDIntroduction to CI/CD
Introduction to CI/CD
 
Jenkins
JenkinsJenkins
Jenkins
 
Ansible with Jenkins in a CI/CD Process
Ansible with Jenkins in a CI/CD ProcessAnsible with Jenkins in a CI/CD Process
Ansible with Jenkins in a CI/CD Process
 
Introduction to CI/CD
Introduction to CI/CDIntroduction to CI/CD
Introduction to CI/CD
 
Hacking Jenkins
Hacking JenkinsHacking Jenkins
Hacking Jenkins
 

Destacado

Continuous Integration (Jenkins/Hudson)
Continuous Integration (Jenkins/Hudson)Continuous Integration (Jenkins/Hudson)
Continuous Integration (Jenkins/Hudson)
Dennys Hsieh
 
Jenkinsを使った初めての継続的インテグレーション
Jenkinsを使った初めての継続的インテグレーションJenkinsを使った初めての継続的インテグレーション
Jenkinsを使った初めての継続的インテグレーション
dcubeio
 

Destacado (20)

Introduction to building alexa skills and putting your amazon echo to work
Introduction to building alexa skills and putting your amazon echo to workIntroduction to building alexa skills and putting your amazon echo to work
Introduction to building alexa skills and putting your amazon echo to work
 
Introduction to Continuous Integration with Jenkins
Introduction to Continuous Integration with JenkinsIntroduction to Continuous Integration with Jenkins
Introduction to Continuous Integration with Jenkins
 
Jenkins - From Continuous Integration to Continuous Delivery
Jenkins - From Continuous Integration to Continuous DeliveryJenkins - From Continuous Integration to Continuous Delivery
Jenkins - From Continuous Integration to Continuous Delivery
 
Continuous Integration (Jenkins/Hudson)
Continuous Integration (Jenkins/Hudson)Continuous Integration (Jenkins/Hudson)
Continuous Integration (Jenkins/Hudson)
 
Jenkins CI
Jenkins CIJenkins CI
Jenkins CI
 
Slack for the mere mortals
Slack for the mere mortalsSlack for the mere mortals
Slack for the mere mortals
 
Introduction to jenkins for the net developer
Introduction to jenkins for the net developerIntroduction to jenkins for the net developer
Introduction to jenkins for the net developer
 
Please meet Amazon Alexa and the Alexa Skills Kit
Please meet Amazon Alexa and the Alexa Skills KitPlease meet Amazon Alexa and the Alexa Skills Kit
Please meet Amazon Alexa and the Alexa Skills Kit
 
DevOps
DevOpsDevOps
DevOps
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Puppet - an introduction
Puppet - an introductionPuppet - an introduction
Puppet - an introduction
 
Jenkins 101: Getting Started
Jenkins 101: Getting StartedJenkins 101: Getting Started
Jenkins 101: Getting Started
 
Microsoft SQL Server Continuous Integration
Microsoft SQL Server Continuous IntegrationMicrosoft SQL Server Continuous Integration
Microsoft SQL Server Continuous Integration
 
Jenkins Best Practices Meetup Slides
Jenkins Best Practices Meetup SlidesJenkins Best Practices Meetup Slides
Jenkins Best Practices Meetup Slides
 
CONTINUOUS INTEGRATION WITH JENKINS AND GIT
CONTINUOUS INTEGRATION WITH JENKINS AND GITCONTINUOUS INTEGRATION WITH JENKINS AND GIT
CONTINUOUS INTEGRATION WITH JENKINS AND GIT
 
Introduction to Continuous Integration with Jenkins
Introduction to Continuous Integration with JenkinsIntroduction to Continuous Integration with Jenkins
Introduction to Continuous Integration with Jenkins
 
Devops
DevopsDevops
Devops
 
Large scale automation with jenkins
Large scale automation with jenkinsLarge scale automation with jenkins
Large scale automation with jenkins
 
Jenkinsを使った初めての継続的インテグレーション
Jenkinsを使った初めての継続的インテグレーションJenkinsを使った初めての継続的インテグレーション
Jenkinsを使った初めての継続的インテグレーション
 
Jira jenkins integration
Jira jenkins integrationJira jenkins integration
Jira jenkins integration
 

Similar a Introduction to jenkins

August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
Howard Greenberg
 
Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®
Hannes Lowette
 

Similar a Introduction to jenkins (20)

Jenkins_1679702972.pdf
Jenkins_1679702972.pdfJenkins_1679702972.pdf
Jenkins_1679702972.pdf
 
jenkins.pdf
jenkins.pdfjenkins.pdf
jenkins.pdf
 
MyHeritage - QA Automations in a Continuous Deployment environment
MyHeritage -  QA Automations in a Continuous Deployment environmentMyHeritage -  QA Automations in a Continuous Deployment environment
MyHeritage - QA Automations in a Continuous Deployment environment
 
Contineous integration
Contineous integrationContineous integration
Contineous integration
 
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
 
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
 
Louisville Software Engineering Meet Up: Continuous Integration Using Jenkins
Louisville Software Engineering Meet Up: Continuous Integration Using JenkinsLouisville Software Engineering Meet Up: Continuous Integration Using Jenkins
Louisville Software Engineering Meet Up: Continuous Integration Using Jenkins
 
Vagrant to-aws-flow
Vagrant to-aws-flowVagrant to-aws-flow
Vagrant to-aws-flow
 
Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...
Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...
Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...
 
Devops
DevopsDevops
Devops
 
Continuos integration with Jenkins for iOS | SuperSpeakers@CodeCamp Iasi, 2014
Continuos integration with Jenkins for iOS | SuperSpeakers@CodeCamp Iasi, 2014Continuos integration with Jenkins for iOS | SuperSpeakers@CodeCamp Iasi, 2014
Continuos integration with Jenkins for iOS | SuperSpeakers@CodeCamp Iasi, 2014
 
Ciprian redinciuc continuous integration with jenkins for i os
Ciprian redinciuc   continuous integration with jenkins for i osCiprian redinciuc   continuous integration with jenkins for i os
Ciprian redinciuc continuous integration with jenkins for i os
 
Jenkins Meetup Pune
Jenkins Meetup PuneJenkins Meetup Pune
Jenkins Meetup Pune
 
Why NXTware Remote for Jenkins
Why NXTware Remote for JenkinsWhy NXTware Remote for Jenkins
Why NXTware Remote for Jenkins
 
Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®
 
Apex world 2018 continuously delivering APEX
Apex world 2018 continuously delivering APEXApex world 2018 continuously delivering APEX
Apex world 2018 continuously delivering APEX
 
JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...
JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...
JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...
 
From Virtual Machines to Containers
From Virtual Machines to ContainersFrom Virtual Machines to Containers
From Virtual Machines to Containers
 
Test parallelization using Jenkins
Test parallelization using JenkinsTest parallelization using Jenkins
Test parallelization using Jenkins
 
DevOps World | Jenkins World 2018 and The Future of Jenkins
DevOps World | Jenkins World 2018 and The Future of JenkinsDevOps World | Jenkins World 2018 and The Future of Jenkins
DevOps World | Jenkins World 2018 and The Future of Jenkins
 

Último

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Último (20)

A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 

Introduction to jenkins

  • 2. Who am I? • Developer -> Evangelist -> Program/Product • Mobile Program Manager @ • Jenkins Enthusiast • Contact Info: • Twitter: @abe238 • info@abediaz.com
  • 3. What is Jenkins? • Jenkins is an open source continuous integration tool written in Java. The project was forked from Hudson after a dispute with Oracle. • Jenkins provides continuous integration services for software development. It is a server-based system running in a servlet container such as Apache Tomcat. • Jenkins is an award-winning application that monitors executions of repeated jobs, such as building a software project or jobs run by cron.
  • 4. And what is continuous integration? • Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times a day. Each check-in is then verified by an automated build, allowing teams to detect problems early.
  • 5. And why do I need this again?
  • 6. The software development world is a distributed one
  • 7. Developer Works on his machine Checks in code to repo Source Control (Git/TFS) Grabs latest code Build Artifacts (exe, website, app) Builds Run Tests (Nunit, MSTest, Gradle, StyleCop, JSHint) Publish Output to Live Server Post Build Steps Deploy Report Back How does Jenkins typically fit into my work?
  • 8. Before you start - Jenkins and SCM • Jenkins and configuration management tools like Chef and Puppet go hand in hand. • The reason for it is to have consistent environments. • You should script out your Jenkins install and configuration. • Also useful when using nodes.
  • 9. Installing Jenkins • Jenkins-CI.org • Chocolatey.org • Prerequisites: JAVA
  • 10. Demo • Install Jenkins via Chocolatey • Verify Jenkins is running
  • 11. Job Types • Freestyle • External • Multi-config
  • 12. Requisites for TFS & .NET Projects • Microsoft Team Explorer Everywhere 2013 • .NET 4.5.1 • Easy: choco install visualstudio2013teamexplorer
  • 15. VisualStudio Online is a bit finicky • When all fails, use plain commands.
  • 16. Hey what about GIT • There’s a plugin for that
  • 17. Caveat Emptor • With plugins like GIT-Plugin YMMV • There are scenarios where you will need to script things out anyhow. • E.g. Needing specific parameters when cloning repos • Shallow clones “--depth 1”
  • 18. Demo • Create first project • Show GIT Support • Choco install git • MSBuild Plugin • choco install microsoft-build-tools
  • 19. Pre build, build and post build steps • Pre build steps are great for items such as: StyleCop and JS minimizers. • Build steps are for grabbing code, compiling and running tests. • Post build steps are for communication, archival and deployments.
  • 20. How are we using Jenkins • Transitioned from TFS to Git • Trigger Builds upon code checkin • Run tests • Deploy to specific AWS machines • Report via Slack • Archive and upload files to AWS (S3)
  • 21. Housekeeping • Backup Jenkins (if possible to the cloud) • Recom: thinBackup • Secure your instance • LDAP • Custom users • Monitor critical instances • Runscope • Daily builds • Let Jenkins manage version numbers • Always test plugins before installing in production (Same goes for Jenkins) • Uninstall all plugins that are not being used.
  • 22. Job Reuse • As your number of jobs grow, consider splitting the tasks into reusable parts • Multi-Job • Parameterized Builds • This can be very useful when running tests • Parameterized Triggers
  • 23. Using Jenkins for CD • Promoted Builds • Workflows • Can integrate with external processes • Auto test Pull Requests • Recom: Pull request builder plugin
  • 24. External Integration • Auto Update GH issues or JIRA tickets • Create Documentation on the fly • Recom: Doxygen • Call any external API (Custom)
  • 25. Using Nodes • Jenkins has a Master/Slave architecture • You can add as many nodes as needed. • These can be generic or environment specific • These can be used also for testing as nodes could be on a different OS