SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

Yale Jenkins Show and Tell
Yale Jenkins Show and TellYale Jenkins Show and Tell
Yale Jenkins Show and Tell
E. Camden Fisher
 
Jenkins - Continuous Integration after Hudson, CruiseControl, and home built
Jenkins - Continuous Integration after Hudson, CruiseControl, and home builtJenkins - Continuous Integration after Hudson, CruiseControl, and home built
Jenkins - Continuous Integration after Hudson, CruiseControl, and home built
Mark Waite
 

Was ist angesagt? (20)

Continuous integration using jenkins
Continuous integration using jenkinsContinuous integration using jenkins
Continuous integration using jenkins
 
Yale Jenkins Show and Tell
Yale Jenkins Show and TellYale Jenkins Show and Tell
Yale Jenkins Show and Tell
 
Jenkins CI
Jenkins CIJenkins CI
Jenkins CI
 
Jenkins introduction
Jenkins introductionJenkins introduction
Jenkins introduction
 
Jenkins CI
Jenkins CIJenkins CI
Jenkins CI
 
Jenkins-CI
Jenkins-CIJenkins-CI
Jenkins-CI
 
Continuous Delivery Using Jenkins
Continuous Delivery Using JenkinsContinuous Delivery Using Jenkins
Continuous Delivery Using Jenkins
 
Let’s start Continuous Integration with jenkins
Let’s start Continuous Integration with jenkinsLet’s start Continuous Integration with jenkins
Let’s start Continuous Integration with jenkins
 
Using CI for continuous delivery Part 2
Using CI for continuous delivery Part 2Using CI for continuous delivery Part 2
Using CI for continuous delivery Part 2
 
Ci jenkins maven svn
Ci jenkins maven svnCi jenkins maven svn
Ci jenkins maven svn
 
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
CI/CD with Jenkins and Docker - DevOps Meetup Day ThailandCI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
 
Jenkins CI presentation
Jenkins CI presentationJenkins CI presentation
Jenkins CI presentation
 
7 Habits of Highly Effective Jenkins Users
7 Habits of Highly Effective Jenkins Users7 Habits of Highly Effective Jenkins Users
7 Habits of Highly Effective Jenkins Users
 
Supermondays: Jenkins CI lightning talk
Supermondays: Jenkins CI lightning talkSupermondays: Jenkins CI lightning talk
Supermondays: Jenkins CI lightning talk
 
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-CodeSD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
 
Jenkins - Continuous Integration after Hudson, CruiseControl, and home built
Jenkins - Continuous Integration after Hudson, CruiseControl, and home builtJenkins - Continuous Integration after Hudson, CruiseControl, and home built
Jenkins - Continuous Integration after Hudson, CruiseControl, and home built
 
Jenkins tutorial
Jenkins tutorialJenkins tutorial
Jenkins tutorial
 
Jenkins workflows and Best Practices
Jenkins workflows and Best PracticesJenkins workflows and Best Practices
Jenkins workflows and Best Practices
 
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
 
At Your Service: Using Jenkins in Operations
At Your Service: Using Jenkins in OperationsAt Your Service: Using Jenkins in Operations
At Your Service: Using Jenkins in Operations
 

Ähnlich wie Using CI for continuous delivery Part 1

Continuous Integration and Delivery at Shapeways (Matt Boyle)
Continuous Integration and Delivery at Shapeways (Matt Boyle)Continuous Integration and Delivery at Shapeways (Matt Boyle)
Continuous Integration and Delivery at Shapeways (Matt Boyle)
Nordic APIs
 

Ähnlich wie Using CI for continuous delivery Part 1 (20)

Automating Software Deployments with AWS CodeDeploy
Automating Software Deployments with AWS CodeDeployAutomating Software Deployments with AWS CodeDeploy
Automating Software Deployments with AWS CodeDeploy
 
Presentation 1 open source tools in continuous integration environment v1.0
Presentation 1   open source tools in continuous integration environment v1.0Presentation 1   open source tools in continuous integration environment v1.0
Presentation 1 open source tools in continuous integration environment v1.0
 
Cacique presentation (english)
Cacique presentation (english)Cacique presentation (english)
Cacique presentation (english)
 
Building with Visual Studio Online
Building with Visual Studio OnlineBuilding with Visual Studio Online
Building with Visual Studio Online
 
Jenkins CI for MacDevOps
Jenkins CI for MacDevOpsJenkins CI for MacDevOps
Jenkins CI for MacDevOps
 
Continuous Integration and Delivery at Shapeways (Matt Boyle)
Continuous Integration and Delivery at Shapeways (Matt Boyle)Continuous Integration and Delivery at Shapeways (Matt Boyle)
Continuous Integration and Delivery at Shapeways (Matt Boyle)
 
Automate Software Deployments on EC2 with AWS CodeDeploy
Automate Software Deployments on EC2 with AWS CodeDeployAutomate Software Deployments on EC2 with AWS CodeDeploy
Automate Software Deployments on EC2 with AWS CodeDeploy
 
Azure DevOps for JavaScript Developers
Azure DevOps for JavaScript DevelopersAzure DevOps for JavaScript Developers
Azure DevOps for JavaScript Developers
 
Django Deployment
Django DeploymentDjango Deployment
Django Deployment
 
Jbossworld Presentation
Jbossworld PresentationJbossworld Presentation
Jbossworld Presentation
 
Announcing AWS CodeBuild - January 2017 Online Teck Talks
Announcing AWS CodeBuild - January 2017 Online Teck TalksAnnouncing AWS CodeBuild - January 2017 Online Teck Talks
Announcing AWS CodeBuild - January 2017 Online Teck Talks
 
Automated Build using teamcity
Automated Build using teamcityAutomated Build using teamcity
Automated Build using teamcity
 
AWS Summit Auckland - Application Delivery Patterns for Developers
AWS Summit Auckland - Application Delivery Patterns for DevelopersAWS Summit Auckland - Application Delivery Patterns for Developers
AWS Summit Auckland - Application Delivery Patterns for Developers
 
Modern websites in 2020 and Joomla
Modern websites in 2020 and JoomlaModern websites in 2020 and Joomla
Modern websites in 2020 and Joomla
 
AWS Code Services
AWS Code ServicesAWS Code Services
AWS Code Services
 
PVS-Studio in the Clouds: Travis CI
PVS-Studio in the Clouds: Travis CIPVS-Studio in the Clouds: Travis CI
PVS-Studio in the Clouds: Travis CI
 
Serverless in production (O'Reilly Software Architecture)
Serverless in production (O'Reilly Software Architecture)Serverless in production (O'Reilly Software Architecture)
Serverless in production (O'Reilly Software Architecture)
 
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
 
Function as a Service
Function as a ServiceFunction as a Service
Function as a Service
 
Developer 2: Building A DevOps Toolchain
Developer 2: Building A DevOps ToolchainDeveloper 2: Building A DevOps Toolchain
Developer 2: Building A DevOps Toolchain
 

Mehr von Vishal Biyani

Mehr von Vishal Biyani (14)

Gophercon 2018: Kubernetes api golang
Gophercon 2018: Kubernetes api golangGophercon 2018: Kubernetes api golang
Gophercon 2018: Kubernetes api golang
 
Serverless Summit India 2017: Fission
Serverless Summit India 2017: FissionServerless Summit India 2017: Fission
Serverless Summit India 2017: Fission
 
SaltStack Advanced Concepts
SaltStack Advanced ConceptsSaltStack Advanced Concepts
SaltStack Advanced Concepts
 
Kubernetes 101 Workshop
Kubernetes 101 WorkshopKubernetes 101 Workshop
Kubernetes 101 Workshop
 
Serverless Pune meetup 3
Serverless Pune meetup 3Serverless Pune meetup 3
Serverless Pune meetup 3
 
Container Conf 2017: Rancher Kubernetes
Container Conf 2017: Rancher KubernetesContainer Conf 2017: Rancher Kubernetes
Container Conf 2017: Rancher Kubernetes
 
Serverless Pune Meetup 1
Serverless Pune Meetup 1Serverless Pune Meetup 1
Serverless Pune Meetup 1
 
Setting up Kubernetes with tectonic
Setting up Kubernetes with tectonicSetting up Kubernetes with tectonic
Setting up Kubernetes with tectonic
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
Learning puppet chapter 3
Learning puppet chapter 3Learning puppet chapter 3
Learning puppet chapter 3
 
Learning puppet chapter 2
Learning puppet chapter 2Learning puppet chapter 2
Learning puppet chapter 2
 
Learning Puppet Chapter 1
Learning Puppet Chapter 1Learning Puppet Chapter 1
Learning Puppet Chapter 1
 
Mulesoft cloudhub
Mulesoft cloudhubMulesoft cloudhub
Mulesoft cloudhub
 
Dell boomi
Dell boomiDell boomi
Dell boomi
 

Kürzlich hochgeladen

Kürzlich hochgeladen (20)

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
 
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...
 
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
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
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...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
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
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
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 Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
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
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 

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