SlideShare a Scribd company logo
Using CI tools for
continuous delivery?
Can we use CI tools for Continuous Delivery?

www.vishalbiyani.com/cicontinuous-delivery

www.vishalbiyani.com
What will we do?
• Test drive each of
– Go (ThoughtWorks)
– TeamCity (Jetbrains)
– Bamboo (Atlassian)
– Jenkins (Open Source)

www.vishalbiyani.com
On what basis?
Parameter

Description

Support for CI+CD Semantics

Ability to club information from multiple
builds into a release manifest sorts

First-class Workflow support

Visual workflow - to build workflow
which is easy to see and modify over
time

Standard actions available

Standard actions available for various
CD tasks - like deploy to tomcat,
connect to server X etc.

Custom actions- extensibility

Ability to write custom actions/plugins
for doing ad-hoc jobs, because not all
actions provided in tool might fit your
needs.

Miscellaneous factors

Supports rolling deployments?
Agentless or with Agents?
Horizontally Scalable?
Auto roll back?
Database deployment integration?
www.vishalbiyani.com
Rough workflow we will test

A code commit
invokes a build

Start Tomcat if
not up

Invoke test script

Build, unit test,
create package

Deploy
application

Wait on response
from script

Restart Tomcat

Indicate
success/failure

www.vishalbiyani.com
Go - ThoughtWorks
http://www.thoughtworks.co
m/products/go-continuousdelivery

www.vishalbiyani.com
Notice: What we are
doing now is in
“Admin”- creation part.
Pipelines tab is for
running what we build
here

We create a
pipeline with three
“stages” and
configure it

www.vishalbiyani.com
You can integrate
with project
tracking tools like
Mingle or others!

Material for a build
pipeline will be
source code from
any of repositories

www.vishalbiyani.com
The “stages” in
plan and number
of “jobs” in each
stage

www.vishalbiyani.com
Environment
variables can be
configured at multiple
levels. “Secure” ones
only at pipeline level

www.vishalbiyani.com
Diving one level deeper
– A job can have
settings, tasks, artifacts
and env. Variables
defined

www.vishalbiyani.com
The tasks available look
like few, but with “Custom
Command” you can literally
integrate anything from a
shell script to external
program

Moreover the “command
repository” provides
additional commands so
you don’t have to start
from scratch! You can build
your private command
repo from existing scripts
too!
www.vishalbiyani.com
Check https://github.com/goteam/go-command-repo
Let’s add a
“maven” custom
command to build
our checked out
source code

Similarly we added
custom commands
for tasks in other
stages – to build a
pipeline

www.vishalbiyani.com
Other options
while creating
pipelines including
templates,
authentication and
repos etc.

www.vishalbiyani.com
The only plugin
which was
available in OOTB
installation

Configure “Agents”
which will execute
tasks

www.vishalbiyani.com
All our pipelines and
their stages visible in
pipelines tab.

www.vishalbiyani.com
For a given pipeline –
all past builds with
stage level results in a
single page.
www.vishalbiyani.com
You can see where
the material is
going and what is
being built ;)
www.vishalbiyani.com
Overall progress,
with rest of details
like materials, jobs
and comparison of
changes

A history of given
stage in previous
runs!

www.vishalbiyani.com
We loved the
visual workflow and
overall information
we got while
running pipeline

www.vishalbiyani.com
Successful builds
and trends over
time

www.vishalbiyani.com
Comparison of Build
12 and 13 for a
pipeline – stage wise
and changes
committed as part of
change

www.vishalbiyani.com
Go - Concluding thoughts
• Clean, minimal interface
• Pretty good at both CI-CD Semantics
• Looks basic OOTB but Highly
extensible and can be customized to
needs with command repo (Kind of
actions etc.)
• Very well done visual workflows and
information required for deploys
www.vishalbiyani.com

More Related Content

PPTX
Introduction to jenkins
PDF
Using CI for continuous delivery Part 4
PDF
Using CI for continuous delivery Part 3
PDF
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
PPTX
PDF
Continuous delivery with open source tools
PPT
Continuous Integration (Jenkins/Hudson)
PDF
Jenkins
Introduction to jenkins
Using CI for continuous delivery Part 4
Using CI for continuous delivery Part 3
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
Continuous delivery with open source tools
Continuous Integration (Jenkins/Hudson)
Jenkins

What's hot (20)

PPTX
Continuous integration using jenkins
PDF
Yale Jenkins Show and Tell
PPT
Jenkins CI
PPTX
Jenkins introduction
PPTX
Jenkins CI
PDF
Jenkins-CI
KEY
Continuous Delivery Using Jenkins
PDF
Let’s start Continuous Integration with jenkins
PDF
Using CI for continuous delivery Part 2
PPTX
Ci jenkins maven svn
PDF
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
PPTX
Jenkins CI presentation
ODP
7 Habits of Highly Effective Jenkins Users
PPTX
Supermondays: Jenkins CI lightning talk
PPTX
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
PPT
Jenkins - Continuous Integration after Hudson, CruiseControl, and home built
PPTX
Jenkins tutorial
PPTX
Jenkins workflows and Best Practices
PPTX
Jenkins Pipeline 101 and TCI - presentation and workshop
PDF
At Your Service: Using Jenkins in Operations
Continuous integration using jenkins
Yale Jenkins Show and Tell
Jenkins CI
Jenkins introduction
Jenkins CI
Jenkins-CI
Continuous Delivery Using Jenkins
Let’s start Continuous Integration with jenkins
Using CI for continuous delivery Part 2
Ci jenkins maven svn
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
Jenkins CI presentation
7 Habits of Highly Effective Jenkins Users
Supermondays: Jenkins CI lightning talk
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
Jenkins - Continuous Integration after Hudson, CruiseControl, and home built
Jenkins tutorial
Jenkins workflows and Best Practices
Jenkins Pipeline 101 and TCI - presentation and workshop
At Your Service: Using Jenkins in Operations
Ad

Similar to Using CI for continuous delivery Part 1 (20)

PPTX
GitHub Actions (Nakov at RuseConf, Sept 2022)
PPTX
Introduction to Go
PPTX
GitHub Actions for 5 minutes
PDF
Continuous Delivery @ Codemotion
PDF
Software Delivery in 2016 - A Continuous Delivery Approach
PDF
Portable CI wGitLab and Github led by Gavin Pickin.pdf
PPTX
Introduction to GOCD - Amulya Sharma
PDF
Continuous delivery
PPTX
The evolution of a delivery pipeline at scale
PDF
CI/CD with Github Actions
PDF
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
PPTX
VTUProj I think I will be going to temple ect-1.pptx
PDF
Gitlab ci-cd
PDF
Continuous Delivery: 5 years later (Incontro DevOps 2018)
PDF
Continuous Delivery
PPTX
An Introduction to Go
PDF
Continuous Delivery: releasing Better and Faster at Dashlane
PDF
Continuous Delivery with NetflixOSS
PDF
Zero to hero - Geoff Webb
PDF
Continuous Integration/Deployment with Gitlab CI
GitHub Actions (Nakov at RuseConf, Sept 2022)
Introduction to Go
GitHub Actions for 5 minutes
Continuous Delivery @ Codemotion
Software Delivery in 2016 - A Continuous Delivery Approach
Portable CI wGitLab and Github led by Gavin Pickin.pdf
Introduction to GOCD - Amulya Sharma
Continuous delivery
The evolution of a delivery pipeline at scale
CI/CD with Github Actions
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
VTUProj I think I will be going to temple ect-1.pptx
Gitlab ci-cd
Continuous Delivery: 5 years later (Incontro DevOps 2018)
Continuous Delivery
An Introduction to Go
Continuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery with NetflixOSS
Zero to hero - Geoff Webb
Continuous Integration/Deployment with Gitlab CI
Ad

More from Vishal Biyani (14)

PDF
Gophercon 2018: Kubernetes api golang
PPTX
Serverless Summit India 2017: Fission
PPTX
SaltStack Advanced Concepts
PPTX
Kubernetes 101 Workshop
PPTX
Serverless Pune meetup 3
PPTX
Container Conf 2017: Rancher Kubernetes
PPTX
Serverless Pune Meetup 1
PPTX
Setting up Kubernetes with tectonic
PPTX
Introduction to Kubernetes
PDF
Learning puppet chapter 3
PDF
Learning puppet chapter 2
PDF
Learning Puppet Chapter 1
PDF
Mulesoft cloudhub
PDF
Dell boomi
Gophercon 2018: Kubernetes api golang
Serverless Summit India 2017: Fission
SaltStack Advanced Concepts
Kubernetes 101 Workshop
Serverless Pune meetup 3
Container Conf 2017: Rancher Kubernetes
Serverless Pune Meetup 1
Setting up Kubernetes with tectonic
Introduction to Kubernetes
Learning puppet chapter 3
Learning puppet chapter 2
Learning Puppet Chapter 1
Mulesoft cloudhub
Dell boomi

Recently uploaded (20)

PDF
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
PDF
Software Development Methodologies in 2025
PDF
DevOps & Developer Experience Summer BBQ
PDF
This slide provides an overview Technology
PDF
GamePlan Trading System Review: Professional Trader's Honest Take
PDF
Why Endpoint Security Is Critical in a Remote Work Era?
PPTX
How Much Does It Cost to Build a Train Ticket App like Trenitalia in Italy.pptx
PDF
Revolutionize Operations with Intelligent IoT Monitoring and Control
PDF
agentic-ai-and-the-future-of-autonomous-systems.pdf
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPTX
CroxyProxy Instagram Access id login.pptx
PDF
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
PDF
CIFDAQ's Token Spotlight: SKY - A Forgotten Giant's Comeback?
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Reimagining Insurance: Connected Data for Confident Decisions.pdf
PDF
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
NewMind AI Weekly Chronicles - August'25 Week I
NewMind AI Monthly Chronicles - July 2025
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Software Development Methodologies in 2025
DevOps & Developer Experience Summer BBQ
This slide provides an overview Technology
GamePlan Trading System Review: Professional Trader's Honest Take
Why Endpoint Security Is Critical in a Remote Work Era?
How Much Does It Cost to Build a Train Ticket App like Trenitalia in Italy.pptx
Revolutionize Operations with Intelligent IoT Monitoring and Control
agentic-ai-and-the-future-of-autonomous-systems.pdf
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
CroxyProxy Instagram Access id login.pptx
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
CIFDAQ's Token Spotlight: SKY - A Forgotten Giant's Comeback?
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Understanding_Digital_Forensics_Presentation.pptx
Reimagining Insurance: Connected Data for Confident Decisions.pdf
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function

Using CI for continuous delivery Part 1

  • 1. Using CI tools for continuous delivery? Can we use CI tools for Continuous Delivery? www.vishalbiyani.com/cicontinuous-delivery www.vishalbiyani.com
  • 2. What will we do? • Test drive each of – Go (ThoughtWorks) – TeamCity (Jetbrains) – Bamboo (Atlassian) – Jenkins (Open Source) www.vishalbiyani.com
  • 3. On what basis? Parameter Description Support for CI+CD Semantics Ability to club information from multiple builds into a release manifest sorts First-class Workflow support Visual workflow - to build workflow which is easy to see and modify over time Standard actions available Standard actions available for various CD tasks - like deploy to tomcat, connect to server X etc. Custom actions- extensibility Ability to write custom actions/plugins for doing ad-hoc jobs, because not all actions provided in tool might fit your needs. Miscellaneous factors Supports rolling deployments? Agentless or with Agents? Horizontally Scalable? Auto roll back? Database deployment integration? www.vishalbiyani.com
  • 4. Rough workflow we will test A code commit invokes a build Start Tomcat if not up Invoke test script Build, unit test, create package Deploy application Wait on response from script Restart Tomcat Indicate success/failure www.vishalbiyani.com
  • 6. Notice: What we are doing now is in “Admin”- creation part. Pipelines tab is for running what we build here We create a pipeline with three “stages” and configure it www.vishalbiyani.com
  • 7. You can integrate with project tracking tools like Mingle or others! Material for a build pipeline will be source code from any of repositories www.vishalbiyani.com
  • 8. The “stages” in plan and number of “jobs” in each stage www.vishalbiyani.com
  • 9. Environment variables can be configured at multiple levels. “Secure” ones only at pipeline level www.vishalbiyani.com
  • 10. Diving one level deeper – A job can have settings, tasks, artifacts and env. Variables defined www.vishalbiyani.com
  • 11. The tasks available look like few, but with “Custom Command” you can literally integrate anything from a shell script to external program Moreover the “command repository” provides additional commands so you don’t have to start from scratch! You can build your private command repo from existing scripts too! www.vishalbiyani.com Check https://github.com/goteam/go-command-repo
  • 12. Let’s add a “maven” custom command to build our checked out source code Similarly we added custom commands for tasks in other stages – to build a pipeline www.vishalbiyani.com
  • 13. Other options while creating pipelines including templates, authentication and repos etc. www.vishalbiyani.com
  • 14. The only plugin which was available in OOTB installation Configure “Agents” which will execute tasks www.vishalbiyani.com
  • 15. All our pipelines and their stages visible in pipelines tab. www.vishalbiyani.com
  • 16. For a given pipeline – all past builds with stage level results in a single page. www.vishalbiyani.com
  • 17. You can see where the material is going and what is being built ;) www.vishalbiyani.com
  • 18. Overall progress, with rest of details like materials, jobs and comparison of changes A history of given stage in previous runs! www.vishalbiyani.com
  • 19. We loved the visual workflow and overall information we got while running pipeline www.vishalbiyani.com
  • 20. Successful builds and trends over time www.vishalbiyani.com
  • 21. Comparison of Build 12 and 13 for a pipeline – stage wise and changes committed as part of change www.vishalbiyani.com
  • 22. Go - Concluding thoughts • Clean, minimal interface • Pretty good at both CI-CD Semantics • Looks basic OOTB but Highly extensible and can be customized to needs with command repo (Kind of actions etc.) • Very well done visual workflows and information required for deploys www.vishalbiyani.com