SlideShare a Scribd company logo
Practice in software engineering, of merging all developer working copies with a shared mainline several times a day.
The main aim of CI is to prevent integration problems (merge hell or integration hell).
Code is compiled if necessary and then packaged by a build server every time a change is committed to a source control repository, then
tested by a number of different techniques (possibly including manual testing) before it can be marked as releasable. Producing production
ready package continuously, with minimal or no manual intervention.
Continuous deployment is the next step of continuous delivery, Every change that passes the automated tests is deployed to production
automatically.
• Thought Works released kind of first Continuous Integration Server named “Cruise Control” as a free
software.
• Later in July 2008 release Continuous Delivery Product called “Cruise”
• Later “Cruise” renamed as “GO”
• Earlier in 2014 Though Works made “GO” Open Source [www.go.cd]
• How it works: Go Server and Agents
• Pipelines
• Go pipelines offer workflows flexibility.
• It also offers 4 Levels of abstractions
• Value Stream Map
• To visualizes your entire continuous delivery workflow. With a single glance you can trace a change
from commit all the way to deployment.
• Go Vs Jenkins (Most popular CI tool)
• Go Server
• User Management, Server configuration, Artifact repository, Package
repository etc., all managed at server.
•
• One or many Go Agents (Agents reach out to GO Server at startup)
• Agents can run on any machine
• Agents are workers, they execute the task assigned by server.
• Agents periodically contact the Go server to ask if there is any work.
• The server checks to see what resources the Agent has, and assigns any available Jobs that
match those resources.
• Categorize Agents By
Environment 1 Environment 2
Environment 3
Agent1 Agent..n
Agent1
Agent..n
Pipeline is a set of validations through which a piece of software must pass on its
way to release
• Every Commit can not be released, but its a release candidate
• If it passes all the steps listed in deployment pipeline then it can be released
Stages
• Stages run consecutively
• Each stage triggered automatically by
successful completion of previous stage.
• Can also be triggered manually.
• Stage can also wait to get triggered manually.
git commit triggers
Pipeline
Stage: Build
Jobs
• Stages run concurrently with a stage
• Job fail it will fail stage it is in.
• Job can run in parallel over multiple agents.
Task
• Task run consecutively with a job
• These are actual commands or scripts
• Example ant, maven, fetch artifact,
script or shell command
Approval
• This can be automatic or manual.
• Automatic on last Stage success or manual for
manual intervention .
 Pipeline can have multiple Stages (run consecutively)
 Stages can have multiple Jobs (runs concurrently)
 Jobs can have multiple task (run consecutively)
Stage: Deploy Stage: Test
Pipeline: WebAppA
Job: Deploy DB
Job: Deploy Conf
Job: Deploy Web App
• Pipeline 1 depends on an SCM.
• Pipeline 1 will trigger each time it polls the SCM and detects a new revision.
• Pipeline 1 and 2 depend on the same SCM.
• A new revision will trigger both Pipeline 1 and 2.
• Pipelines 1 and 2 depend on an SCM.
• Pipeline 3 depends on Pipelines 1 and 2.
• Imp: Pipeline 3 will only trigger if a new revision (SCM) has successfully passed through
both Pipeline 1 and Pipeline 2
• Pipelines 1 and 2 depend on SCM 1.
• Pipeline 3 depends on Pipelines 1 and 2, and SCM 2.
• Pipeline 3 will trigger:
•if a new revision (SCM 1) has successfully passed through both
Pipeline 1 and Pipeline 2
•each time it polls SCM 2 and detects a new revision
• Pipelines 1 and 2 depend on SCM 1.
• Pipeline 3 depends on SCM 2.
• Pipeline 4 depends on Pipelines 1, 2 and 3.
• Pipeline 4 will trigger:
• if a new revision (SCM 1) has successfully passed through
Pipelines 1 and 2.
• each time Pipeline 3 successfully completes (SCM 2)
A value stream map can be generated for every execution. It provides you with the ability to:
• See what caused the current pipeline to be triggered.
• See what downstream pipelines were triggered by the current pipeline.
• See the status of the current pipeline and all its upstream and downstream dependencies.
• See changes in dependencies of the pipeline across different runs of it.
• Along with all this, it also allows you to easily debug problems when a dependency/configuration change
caused your build-test-release setup to break.
PROS:
• Visualization with Value Steam Map
• Fan in support - reduce risk of incompatible builds
• Powerful abstractions and their relationship:
Tasks inside Jobs inside Stages inside Pipelines
• Parallelizability
(jobs across agents, resources to tie jobs to a set of
agents)
• Security - Go can be configured (you can set https-only)
Cons
• Only a couple of extension points (plugins).
• Go Server is only one server no multiple server.
• Comes only with Jetty
PROS Compared to Cons of GO:
• Jenkins is easy to use "out-of-the-box"
• Hundreds of plugin available compare to few in GO
• Can be deployed to any web server.
• Can work with Master only with no agents, Go need
at least one agent.
• It works with VCS (plugins)
• Well-known, big user base, especially plugin writers.
Cons Compared Pros of GO:
• End-to-end visualization, not like GO VSM
• Fan in is hard to achieve.
• Jenkins authorization is per-user/group level
Go allows per-user/group and per-pipeline authorization
• Thoughtworks GO Products Docs
http://www.thoughtworks.com/products/docs/go/13.1/help/concepts_in_go.html
• Go Open Source Website
http://www.go.cd/
• Continuous Delivery.com
http://continuousdelivery.com/2010/09/deployment-pipeline-anti-patterns
• Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation (Addison-Wesley
Signature Series (Fowler)) http://amzn.com/0321601912

More Related Content

What's hot

Migrating IBM Cloud Orchestrator environment from v2.4.0.2 to v2.5.0.1
Migrating IBM Cloud Orchestrator environment from v2.4.0.2 to v2.5.0.1Migrating IBM Cloud Orchestrator environment from v2.4.0.2 to v2.5.0.1
Migrating IBM Cloud Orchestrator environment from v2.4.0.2 to v2.5.0.1
Paulraj Pappaiah
 
Continuous delivery with open source tools
Continuous delivery with open source toolsContinuous delivery with open source tools
Continuous delivery with open source tools
Sebastian Helzle
 
Migrating to git
Migrating to gitMigrating to git
Migrating to gitXpand IT
 
VersionEye for PHP User Group Berlin
VersionEye for PHP User Group BerlinVersionEye for PHP User Group Berlin
VersionEye for PHP User Group BerlinRobert Reiz
 
Release This! Tools for a Smooth Release Cycle
Release This! Tools for a Smooth Release CycleRelease This! Tools for a Smooth Release Cycle
Release This! Tools for a Smooth Release Cycle
Guerrilla
 
Git collaboration
Git collaborationGit collaboration
Git collaboration
Pham Quy (Jack)
 
Version control
Version controlVersion control
Version control
visual28
 
Git basics, Team Workflows (Ciro Miranda)
Git basics, Team Workflows (Ciro Miranda)Git basics, Team Workflows (Ciro Miranda)
Git basics, Team Workflows (Ciro Miranda)
Ciro Miranda
 
JOIN 2021 Testable and reusable build automation Using Tekton
JOIN 2021 Testable and reusable build automation Using TektonJOIN 2021 Testable and reusable build automation Using Tekton
JOIN 2021 Testable and reusable build automation Using Tekton
Pieter Vincken
 
Phabricator Workflow
Phabricator WorkflowPhabricator Workflow
Phabricator Workflow
Michael Schuett
 
Leandro Melendez - Switching Performance Left & Right
Leandro Melendez - Switching Performance Left & RightLeandro Melendez - Switching Performance Left & Right
Leandro Melendez - Switching Performance Left & Right
Neotys_Partner
 
Phabricator presentation
Phabricator presentationPhabricator presentation
Phabricator presentation
Ihsan Fauzi Rahman
 
Jenkins Reviewbot
Jenkins ReviewbotJenkins Reviewbot
Jenkins Reviewbot
Yardena Meymann
 
Merge hells - Feature Toggles to the rescue
Merge hells - Feature Toggles to the rescueMerge hells - Feature Toggles to the rescue
Merge hells - Feature Toggles to the rescue
Leena N
 
Azure Pipelines
Azure PipelinesAzure Pipelines
Azure Pipelines
Mithun Shanbhag
 
Test automation proposal
Test automation proposalTest automation proposal
Test automation proposal
Mihai-Cristian Fratila
 
Phabricator gdg presentation
Phabricator gdg presentationPhabricator gdg presentation
Phabricator gdg presentation
Nizameddin Ordulu
 
Develop Operation, Operate Development: A journey towards service delivery at...
Develop Operation, Operate Development: A journey towards service delivery at...Develop Operation, Operate Development: A journey towards service delivery at...
Develop Operation, Operate Development: A journey towards service delivery at...
Behrooz Nobakht
 
Webservice performance testing with SoapUI
Webservice performance testing with SoapUIWebservice performance testing with SoapUI
Webservice performance testing with SoapUIPhuoc Nguyen
 
Mobicents Summit 2012 - Thomas Quintana - RestComm Cloud Communications
Mobicents Summit 2012 - Thomas Quintana - RestComm Cloud CommunicationsMobicents Summit 2012 - Thomas Quintana - RestComm Cloud Communications
Mobicents Summit 2012 - Thomas Quintana - RestComm Cloud Communicationstelestax
 

What's hot (20)

Migrating IBM Cloud Orchestrator environment from v2.4.0.2 to v2.5.0.1
Migrating IBM Cloud Orchestrator environment from v2.4.0.2 to v2.5.0.1Migrating IBM Cloud Orchestrator environment from v2.4.0.2 to v2.5.0.1
Migrating IBM Cloud Orchestrator environment from v2.4.0.2 to v2.5.0.1
 
Continuous delivery with open source tools
Continuous delivery with open source toolsContinuous delivery with open source tools
Continuous delivery with open source tools
 
Migrating to git
Migrating to gitMigrating to git
Migrating to git
 
VersionEye for PHP User Group Berlin
VersionEye for PHP User Group BerlinVersionEye for PHP User Group Berlin
VersionEye for PHP User Group Berlin
 
Release This! Tools for a Smooth Release Cycle
Release This! Tools for a Smooth Release CycleRelease This! Tools for a Smooth Release Cycle
Release This! Tools for a Smooth Release Cycle
 
Git collaboration
Git collaborationGit collaboration
Git collaboration
 
Version control
Version controlVersion control
Version control
 
Git basics, Team Workflows (Ciro Miranda)
Git basics, Team Workflows (Ciro Miranda)Git basics, Team Workflows (Ciro Miranda)
Git basics, Team Workflows (Ciro Miranda)
 
JOIN 2021 Testable and reusable build automation Using Tekton
JOIN 2021 Testable and reusable build automation Using TektonJOIN 2021 Testable and reusable build automation Using Tekton
JOIN 2021 Testable and reusable build automation Using Tekton
 
Phabricator Workflow
Phabricator WorkflowPhabricator Workflow
Phabricator Workflow
 
Leandro Melendez - Switching Performance Left & Right
Leandro Melendez - Switching Performance Left & RightLeandro Melendez - Switching Performance Left & Right
Leandro Melendez - Switching Performance Left & Right
 
Phabricator presentation
Phabricator presentationPhabricator presentation
Phabricator presentation
 
Jenkins Reviewbot
Jenkins ReviewbotJenkins Reviewbot
Jenkins Reviewbot
 
Merge hells - Feature Toggles to the rescue
Merge hells - Feature Toggles to the rescueMerge hells - Feature Toggles to the rescue
Merge hells - Feature Toggles to the rescue
 
Azure Pipelines
Azure PipelinesAzure Pipelines
Azure Pipelines
 
Test automation proposal
Test automation proposalTest automation proposal
Test automation proposal
 
Phabricator gdg presentation
Phabricator gdg presentationPhabricator gdg presentation
Phabricator gdg presentation
 
Develop Operation, Operate Development: A journey towards service delivery at...
Develop Operation, Operate Development: A journey towards service delivery at...Develop Operation, Operate Development: A journey towards service delivery at...
Develop Operation, Operate Development: A journey towards service delivery at...
 
Webservice performance testing with SoapUI
Webservice performance testing with SoapUIWebservice performance testing with SoapUI
Webservice performance testing with SoapUI
 
Mobicents Summit 2012 - Thomas Quintana - RestComm Cloud Communications
Mobicents Summit 2012 - Thomas Quintana - RestComm Cloud CommunicationsMobicents Summit 2012 - Thomas Quintana - RestComm Cloud Communications
Mobicents Summit 2012 - Thomas Quintana - RestComm Cloud Communications
 

Similar to Introduction to GOCD - Amulya Sharma

Continuous Deployment of your Application @SpringOne
Continuous Deployment of your Application @SpringOneContinuous Deployment of your Application @SpringOne
Continuous Deployment of your Application @SpringOne
ciberkleid
 
Continuous Deployment to the cloud
Continuous Deployment to the cloudContinuous Deployment to the cloud
Continuous Deployment to the cloud
VMware Tanzu
 
Architecting for the cloud storage build test
Architecting for the cloud storage build testArchitecting for the cloud storage build test
Architecting for the cloud storage build test
Len Bass
 
Continuous Deployment of your Application @JUGtoberfest
Continuous Deployment of your Application @JUGtoberfestContinuous Deployment of your Application @JUGtoberfest
Continuous Deployment of your Application @JUGtoberfest
Marcin Grzejszczak
 
Jose Luis Soria - XP2014 - Designing a Release Pipeline
Jose Luis Soria - XP2014 - Designing a Release PipelineJose Luis Soria - XP2014 - Designing a Release Pipeline
Jose Luis Soria - XP2014 - Designing a Release Pipeline
Jose Luis Soria
 
PERFORMANCE TESTING USING LOAD RUNNER
PERFORMANCE  TESTING  USING  LOAD RUNNERPERFORMANCE  TESTING  USING  LOAD RUNNER
PERFORMANCE TESTING USING LOAD RUNNER
AjithaG9
 
SQL Server DevOps Jumpstart
SQL Server DevOps JumpstartSQL Server DevOps Jumpstart
SQL Server DevOps Jumpstart
Ori Donner
 
Continuous Deployment of your Application @jSession#5
Continuous Deployment of your Application @jSession#5Continuous Deployment of your Application @jSession#5
Continuous Deployment of your Application @jSession#5
Marcin Grzejszczak
 
Deploying at will - SEI
 Deploying at will - SEI Deploying at will - SEI
What is the merge window?
What is the merge window?What is the merge window?
What is the merge window?
Macpaul Lin
 
Continuous Delivery at Snyk
Continuous Delivery at SnykContinuous Delivery at Snyk
Continuous Delivery at Snyk
Anton Drukh
 
Ncerc rlmca202 adm m3 ssm
Ncerc rlmca202  adm m3 ssmNcerc rlmca202  adm m3 ssm
Ncerc rlmca202 adm m3 ssm
ssmarar
 
Test parallelization using Jenkins
Test parallelization using JenkinsTest parallelization using Jenkins
Test parallelization using Jenkins
Rogue Wave Software
 
PAC 2019 virtual Bruno Audoux
PAC 2019 virtual Bruno Audoux PAC 2019 virtual Bruno Audoux
PAC 2019 virtual Bruno Audoux
Neotys
 
Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOps
Eklove Mohan
 
Continuous Integration as a Way of Life
Continuous Integration as a Way of LifeContinuous Integration as a Way of Life
Continuous Integration as a Way of Life
Melissa Benua
 
Continuous Deployment To The Cloud @DevoxxPL 2017
Continuous Deployment To The Cloud @DevoxxPL 2017 Continuous Deployment To The Cloud @DevoxxPL 2017
Continuous Deployment To The Cloud @DevoxxPL 2017
Marcin Grzejszczak
 
The Rocky Cloud Road
The Rocky Cloud RoadThe Rocky Cloud Road
The Rocky Cloud Road
Gert Drapers
 
Continuous Deployment of your Application - SpringOne Tour Dallas
Continuous Deployment of your Application - SpringOne Tour DallasContinuous Deployment of your Application - SpringOne Tour Dallas
Continuous Deployment of your Application - SpringOne Tour Dallas
VMware Tanzu
 
Architecture for the cloud deployment case study future
Architecture for the cloud deployment case study futureArchitecture for the cloud deployment case study future
Architecture for the cloud deployment case study future
Len Bass
 

Similar to Introduction to GOCD - Amulya Sharma (20)

Continuous Deployment of your Application @SpringOne
Continuous Deployment of your Application @SpringOneContinuous Deployment of your Application @SpringOne
Continuous Deployment of your Application @SpringOne
 
Continuous Deployment to the cloud
Continuous Deployment to the cloudContinuous Deployment to the cloud
Continuous Deployment to the cloud
 
Architecting for the cloud storage build test
Architecting for the cloud storage build testArchitecting for the cloud storage build test
Architecting for the cloud storage build test
 
Continuous Deployment of your Application @JUGtoberfest
Continuous Deployment of your Application @JUGtoberfestContinuous Deployment of your Application @JUGtoberfest
Continuous Deployment of your Application @JUGtoberfest
 
Jose Luis Soria - XP2014 - Designing a Release Pipeline
Jose Luis Soria - XP2014 - Designing a Release PipelineJose Luis Soria - XP2014 - Designing a Release Pipeline
Jose Luis Soria - XP2014 - Designing a Release Pipeline
 
PERFORMANCE TESTING USING LOAD RUNNER
PERFORMANCE  TESTING  USING  LOAD RUNNERPERFORMANCE  TESTING  USING  LOAD RUNNER
PERFORMANCE TESTING USING LOAD RUNNER
 
SQL Server DevOps Jumpstart
SQL Server DevOps JumpstartSQL Server DevOps Jumpstart
SQL Server DevOps Jumpstart
 
Continuous Deployment of your Application @jSession#5
Continuous Deployment of your Application @jSession#5Continuous Deployment of your Application @jSession#5
Continuous Deployment of your Application @jSession#5
 
Deploying at will - SEI
 Deploying at will - SEI Deploying at will - SEI
Deploying at will - SEI
 
What is the merge window?
What is the merge window?What is the merge window?
What is the merge window?
 
Continuous Delivery at Snyk
Continuous Delivery at SnykContinuous Delivery at Snyk
Continuous Delivery at Snyk
 
Ncerc rlmca202 adm m3 ssm
Ncerc rlmca202  adm m3 ssmNcerc rlmca202  adm m3 ssm
Ncerc rlmca202 adm m3 ssm
 
Test parallelization using Jenkins
Test parallelization using JenkinsTest parallelization using Jenkins
Test parallelization using Jenkins
 
PAC 2019 virtual Bruno Audoux
PAC 2019 virtual Bruno Audoux PAC 2019 virtual Bruno Audoux
PAC 2019 virtual Bruno Audoux
 
Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOps
 
Continuous Integration as a Way of Life
Continuous Integration as a Way of LifeContinuous Integration as a Way of Life
Continuous Integration as a Way of Life
 
Continuous Deployment To The Cloud @DevoxxPL 2017
Continuous Deployment To The Cloud @DevoxxPL 2017 Continuous Deployment To The Cloud @DevoxxPL 2017
Continuous Deployment To The Cloud @DevoxxPL 2017
 
The Rocky Cloud Road
The Rocky Cloud RoadThe Rocky Cloud Road
The Rocky Cloud Road
 
Continuous Deployment of your Application - SpringOne Tour Dallas
Continuous Deployment of your Application - SpringOne Tour DallasContinuous Deployment of your Application - SpringOne Tour Dallas
Continuous Deployment of your Application - SpringOne Tour Dallas
 
Architecture for the cloud deployment case study future
Architecture for the cloud deployment case study futureArchitecture for the cloud deployment case study future
Architecture for the cloud deployment case study future
 

Recently uploaded

Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
CatarinaPereira64715
 

Recently uploaded (20)

Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 

Introduction to GOCD - Amulya Sharma

  • 1.
  • 2. Practice in software engineering, of merging all developer working copies with a shared mainline several times a day. The main aim of CI is to prevent integration problems (merge hell or integration hell). Code is compiled if necessary and then packaged by a build server every time a change is committed to a source control repository, then tested by a number of different techniques (possibly including manual testing) before it can be marked as releasable. Producing production ready package continuously, with minimal or no manual intervention. Continuous deployment is the next step of continuous delivery, Every change that passes the automated tests is deployed to production automatically.
  • 3. • Thought Works released kind of first Continuous Integration Server named “Cruise Control” as a free software. • Later in July 2008 release Continuous Delivery Product called “Cruise” • Later “Cruise” renamed as “GO” • Earlier in 2014 Though Works made “GO” Open Source [www.go.cd] • How it works: Go Server and Agents • Pipelines • Go pipelines offer workflows flexibility. • It also offers 4 Levels of abstractions • Value Stream Map • To visualizes your entire continuous delivery workflow. With a single glance you can trace a change from commit all the way to deployment. • Go Vs Jenkins (Most popular CI tool)
  • 4. • Go Server • User Management, Server configuration, Artifact repository, Package repository etc., all managed at server. • • One or many Go Agents (Agents reach out to GO Server at startup) • Agents can run on any machine • Agents are workers, they execute the task assigned by server.
  • 5. • Agents periodically contact the Go server to ask if there is any work. • The server checks to see what resources the Agent has, and assigns any available Jobs that match those resources. • Categorize Agents By Environment 1 Environment 2 Environment 3 Agent1 Agent..n Agent1 Agent..n
  • 6. Pipeline is a set of validations through which a piece of software must pass on its way to release • Every Commit can not be released, but its a release candidate • If it passes all the steps listed in deployment pipeline then it can be released
  • 7.
  • 8. Stages • Stages run consecutively • Each stage triggered automatically by successful completion of previous stage. • Can also be triggered manually. • Stage can also wait to get triggered manually. git commit triggers Pipeline Stage: Build Jobs • Stages run concurrently with a stage • Job fail it will fail stage it is in. • Job can run in parallel over multiple agents. Task • Task run consecutively with a job • These are actual commands or scripts • Example ant, maven, fetch artifact, script or shell command Approval • This can be automatic or manual. • Automatic on last Stage success or manual for manual intervention .  Pipeline can have multiple Stages (run consecutively)  Stages can have multiple Jobs (runs concurrently)  Jobs can have multiple task (run consecutively) Stage: Deploy Stage: Test Pipeline: WebAppA Job: Deploy DB Job: Deploy Conf Job: Deploy Web App
  • 9.
  • 10. • Pipeline 1 depends on an SCM. • Pipeline 1 will trigger each time it polls the SCM and detects a new revision. • Pipeline 1 and 2 depend on the same SCM. • A new revision will trigger both Pipeline 1 and 2. • Pipelines 1 and 2 depend on an SCM. • Pipeline 3 depends on Pipelines 1 and 2. • Imp: Pipeline 3 will only trigger if a new revision (SCM) has successfully passed through both Pipeline 1 and Pipeline 2
  • 11. • Pipelines 1 and 2 depend on SCM 1. • Pipeline 3 depends on Pipelines 1 and 2, and SCM 2. • Pipeline 3 will trigger: •if a new revision (SCM 1) has successfully passed through both Pipeline 1 and Pipeline 2 •each time it polls SCM 2 and detects a new revision • Pipelines 1 and 2 depend on SCM 1. • Pipeline 3 depends on SCM 2. • Pipeline 4 depends on Pipelines 1, 2 and 3. • Pipeline 4 will trigger: • if a new revision (SCM 1) has successfully passed through Pipelines 1 and 2. • each time Pipeline 3 successfully completes (SCM 2)
  • 12.
  • 13. A value stream map can be generated for every execution. It provides you with the ability to: • See what caused the current pipeline to be triggered. • See what downstream pipelines were triggered by the current pipeline. • See the status of the current pipeline and all its upstream and downstream dependencies. • See changes in dependencies of the pipeline across different runs of it. • Along with all this, it also allows you to easily debug problems when a dependency/configuration change caused your build-test-release setup to break.
  • 14. PROS: • Visualization with Value Steam Map • Fan in support - reduce risk of incompatible builds • Powerful abstractions and their relationship: Tasks inside Jobs inside Stages inside Pipelines • Parallelizability (jobs across agents, resources to tie jobs to a set of agents) • Security - Go can be configured (you can set https-only) Cons • Only a couple of extension points (plugins). • Go Server is only one server no multiple server. • Comes only with Jetty PROS Compared to Cons of GO: • Jenkins is easy to use "out-of-the-box" • Hundreds of plugin available compare to few in GO • Can be deployed to any web server. • Can work with Master only with no agents, Go need at least one agent. • It works with VCS (plugins) • Well-known, big user base, especially plugin writers. Cons Compared Pros of GO: • End-to-end visualization, not like GO VSM • Fan in is hard to achieve. • Jenkins authorization is per-user/group level Go allows per-user/group and per-pipeline authorization
  • 15. • Thoughtworks GO Products Docs http://www.thoughtworks.com/products/docs/go/13.1/help/concepts_in_go.html • Go Open Source Website http://www.go.cd/ • Continuous Delivery.com http://continuousdelivery.com/2010/09/deployment-pipeline-anti-patterns • Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation (Addison-Wesley Signature Series (Fowler)) http://amzn.com/0321601912

Editor's Notes

  1. http://blog.crisp.se/2013/02/05/yassalsundman/continuous-delivery-vs-continuous-deployment
  2. http://blog.crisp.se/2013/02/05/yassalsundman/continuous-delivery-vs-continuous-deployment
  3. http://blog.crisp.se/2013/02/05/yassalsundman/continuous-delivery-vs-continuous-deployment
  4. http://blog.crisp.se/2013/02/05/yassalsundman/continuous-delivery-vs-continuous-deployment
  5. http://blog.crisp.se/2013/02/05/yassalsundman/continuous-delivery-vs-continuous-deployment
  6. http://blog.crisp.se/2013/02/05/yassalsundman/continuous-delivery-vs-continuous-deployment
  7. http://continuousdelivery.com/2010/09/deployment-pipeline-anti-patterns
  8. http://blog.crisp.se/2013/02/05/yassalsundman/continuous-delivery-vs-continuous-deployment
  9. http://blog.crisp.se/2013/02/05/yassalsundman/continuous-delivery-vs-continuous-deployment
  10. http://blog.crisp.se/2013/02/05/yassalsundman/continuous-delivery-vs-continuous-deployment
  11. http://blog.crisp.se/2013/02/05/yassalsundman/continuous-delivery-vs-continuous-deployment
  12. http://blog.crisp.se/2013/02/05/yassalsundman/continuous-delivery-vs-continuous-deployment
  13. http://blog.crisp.se/2013/02/05/yassalsundman/continuous-delivery-vs-continuous-deployment