When DevOps talks meet DevOps tactics, companies find that Continuous Integration is the make or break point. And implementing CI is one thing, but sustainable CI takes a little bit more consideration. CI is not all about releases, it is also about knowing more about how your software delivery pipeline works, it's weak points, and how you are doing over time.
Join CloudBees and cPrime as we discuss best practices for facilitating DevOps pipelines with Jenkins Workflow and reveal how the workflow engine of Jenkins CI and “Agilecentric” Devops practices together, support complex control structures, shortens the development cycle, stabilizes environments and reduces defects.
4. 4
+
About CloudBees
WE ARE
The Enterprise
Jenkins Company
OUR GOAL
To be the
automation
leader helping
organizations
develop and
deliver better
software faster.
WE OFFER
Continuous
delivery solutions
powered by
Jenkins at
enterprise scale
with enterprise
support.
OUR
BUSINESS VALUE
We enable IT to
deliver better
software faster by
optimizing their
use of Jenkins on
premise or in the
cloud.
7. 7
+
The first lines of the Agile Manifesto
“Our highest priority is to satisfy the customer
through early and continuous delivery
of valuable software.”
http://www.agilemanifesto.org/principles.html
8. 8
+
Continuous Delivery and Automation are Key
Development Production
Commit Build Test Stage Deploy
Feedback Loop
$
The Business
9. 9
+
This is Devon.
He practices Continuous Delivery.
He is a DevOps Master.
But he wasn’t always so efficient.
Let’s watch him grow.
11. 11
+
Poll: What kind of VCS are you using
1. Subversion
2. Git
3. TFS
4. Perforce
5. Something else
12. 12
+
Source Control
Version control best practices for CI/CD
• Use a descriptive commit message
• Link Commits to Issues (Feature, Bug, Task)
• Make each commit a logical unit
• Incorporate others' changes frequently
• Share your changes frequently
• Don't commit generated files
Baby Devon
15. 15
+
Poll 2 How Much Test Coverage do you have?
1. Full Coverage
2. Moderate Coverage
3. Light Coverage
4. No Coverage
16. 16
+
Continuous Integration
Frat Boy
Devon
• Make the build self-testing
• Everyone commits to the baseline every day
• Every commit (to baseline) should be built
• Keep the build fast
• Test in a clone of the production environment
• Make it easy to get the latest deliverables
• Everyone can see the results of the latest build
• Automate deployment
17. 17
+
Release Automation
• Produce Artifacts once and store them in an artifact repository
• Promote these artifacts rather than recreating them at each step.
• Use a configuration management tool like Chef, Puppet, or
Ansible to manage your environments
• Treat your infrastructure like code and include your playbooks
and configuration management modules with your
code repository
Hipster
DevOn
18. 18
+
Continuous Delivery
• Software is confirmed to be in a shippable state.
• Stakeholders have instant visibility into
production readiness.
• Teams can perform push-button deployments
on-demand.
http://martinfowler.com/bliki/ContinuousDelivery.html
Professor
Devon
19. 19
+
Poll 3 – How many manual steps are there in
your deployment?
1. 1
2. 2 -3
3. 3 or more
4. Too many to count
20. 20
+
CloudBees Jenkins Platform:
Perfect for Bi-Modal IT
Legacy
Applications
Monolithic
Client
Server
C++
Java
N-Tier
.Net
Waterfall
Agile
Microservices
Mobile
Containers
Cloud
21. 21
+
Jenkins Pipeline (Workflow)
Single Job - Entire CD Pipeline in a single workflow (or job)
Complex logic - Support complex logic like for-loops,
if-then-else, try-catch, fork-join etc…
Survive restarts - While the workflow is running
Human approval/input - Integrated human interaction into the workflow
22. 22
+
Jenkins Pipeline (Workflow) - Cont
Allocate resources - Dynamically allocate slaves and workspaces
Versioning - Supports checking workflow into version control system
Checkpoints - CloudBees feature to be able to resume from a safe point
Visualization - Stage view of workflow
23. 23
+
Jenkins Powered CD Pipelines: Jenkins Pipeline
Development Production
Commit Build Stage Deploy
? ?
Pipelines Need:
Branching
Looping
Restarts
Checkpoints
Manual Input
Sonar Test
Selenium Test
Perf Test
Jenkins Pipeline
24. 24
+
CloudBees Jenkins Pipeline Stage View
Jenkins Pipeline Stage View
SOURCE
CODE
CONTROL
SYSTEM
Code
Commit
</>
Development Production
Jenkins Pipeline
25. 25
+
Jenkins is the Hub of the CD/DevOps Ecosystem
Over
1000 Jenkins
Plugins
Integration
with over 100
DevOps Tools
Orchestration
of the DevOps
Toolchain
End-to-End
CD Pipeline
Management
Code & Commit Build & Config Scan & Test Release Deploy
26. 26
+
Jenkins Popularity is Through the Roof
0
1,000,000
2,000,000
3,000,000
4,000,000
5,000,000
6,000,000
7,000,000
0
20,000
40,000
60,000
80,000
100,000
120,000
11/1/2008 11/1/2009 11/1/2010 11/1/2011 11/1/2012 11/1/2013 11/1/2014
Active Jenkins Installations Worldwide
Total Jenkins Jobs Worldwide
http://www.infoq.com/research/ci-server http://stats.jenkins-ci.org/jenkins-stats
27. 27
+
What is the CloudBees Jenkins Platform?
User Management
RBAC/SSO/Security
Team Mgmt
Organization Mgmt
Expert Technical
Support
Platinum
Gold
Silver
TSM
Customer Success
Management,
Monitoring &
Alerting
Cluster Management
Analytics
Shared Resources
Dashboards
Advanced Jenkins Performance
High availability, security, optimized performance
CD Pipeline Orchestration & Execution
Jenkins workflow with checkpoint, stageview, branching & restarts
Jenkins Platform
Next Generation Infrastructure Support
Docker, AWS, Azure, Pivotal, OpenShift
Commit Build Test Stage Deploy
OSS Jenkins Core
Open Source Jenkins Plugins
28. 28
+
Shared Build Nodes
Project Team 1 Project Team 2 Project Team 3 Project Team 4 Project Team 5
RBAC
LDAP
Jenkins Platform Architecture
updates.jenkins-ci.org
Jenkins Operations Center
Plugin Update
Centers
Cluster
Operations
Analytics
Shared Slaves
Jenkins Enterprise
Master
z
Jenkins Enterprise
Master
z
Jenkins Enterprise
Master
z
Jenkins Enterprise
Master
z
Jenkins Enterprise
Master
z
30. 30
+
CloudBees Jenkins Platform: In Cloud of Your Choice
30
Images available today:
Installers
Elastic build node pools
Cloud CLI support
31. 31
+
Accelerating CD with Containers
+
Jenkins Workflow
TEST
STAGE
PRODUCTION
Workflow CD Pipeline Triggers:
New application code (feature, bug fix, etc.)
Updated certified stack (security fix in Linux, etc.)
Will lead to a new gold image being built and
available for … TESTING … STAGING … PRODUCTION
All taking place in a standardized/similar/consistent OS environment
App
<code>
(git, etc.)
Gold
Docker
Image
(~per app)
<OS config>
Certified
Docker
Images
(Ubuntu, etc.)
<OS config>
32. 32
+
Provides first-class support for Jenkins Pipeline to build real world
CD pipelines for containerized applications using Jenkins and Docker
CloudBees: Leading the Way for Docker and CD
Docker
Pipeline
Build and
Publish
Docker Hub
Notification
Docker
Traceability
Docker
Docker Custom
Build Environment
Builds projects that have a Dockerfile and pushes
the resultant tagged image to Docker Hub
Triggers downstream jobs when a tagged
container is pushed to Docker Hub
Identifies which build pushed a particular container that is running
in production and displays that on the Jenkins builds page
Uses Docker containers as standardized build environments
to improve isolation and elasticity – Dockerized build nodes
Specifies customized build environments as Docker containers
36. 36
+
We will send these links after the webinar
To learn more about Continuous Delivery using the CloudBees
Jenkins Platform click here.
You can also see our last webinar recording, Continuous Delivery
with Jenkins Pipeline and Docker Explained here.