DevOps.com

  • Latest
    • Articles
    • Features
    • Most Read
    • News
    • News Releases
  • Topics
    • AI
    • Continuous Delivery
    • Continuous Testing
    • Cloud
    • Culture
    • DataOps
    • DevSecOps
    • Enterprise DevOps
    • Leadership Suite
    • DevOps Practice
    • ROELBOB
    • DevOps Toolbox
    • IT as Code
  • Videos/Podcasts
    • Techstrong.tv Podcast
    • Techstrong.tv Video Podcast
    • Techstrong.tv - Twitch
    • DevOps Unbound
  • Webinars
    • Upcoming
    • On-Demand Webinars
  • Library
  • Events
    • Upcoming Events
    • On-Demand Events
  • Sponsored Content
  • Related Sites
    • Techstrong Group
    • Container Journal
    • Security Boulevard
    • Techstrong Research
    • DevOps Chat
    • DevOps Dozen
    • DevOps TV
    • Techstrong TV
    • Techstrong.tv Podcast
    • Techstrong.tv Video Podcast
    • Techstrong.tv - Twitch
  • Media Kit
  • About
  • Sponsor
  • AI
  • Cloud
  • Continuous Delivery
  • Continuous Testing
  • DataOps
  • DevSecOps
  • DevOps Onramp
  • Platform Engineering
  • Low-Code/No-Code
  • IT as Code
  • More
    • Application Performance Management/Monitoring
    • Culture
    • Enterprise DevOps
    • ROELBOB
Hot Topics
  • Azure Migration Strategy: Tools, Costs and Best Practices
  • Blameless Integrates Incident Management Platform With Opsgenie
  • OpenAI Hires 1,000 Low Wage Coders to Retrain Copilot | Netflix Blocks Password Sharing
  • Red Hat Brings Ansible Automation to Google Cloud
  • Three Trends That Will Transform DevOps in 2023

Home » Blogs » Doin' DevOps » Essential Ingredients for Continuous Deployment

Essential Ingredients for Continuous Deployment

Avatar photoBy: vishal sahasrabuddhe on August 3, 2015 2 Comments

To build the system to automate the build and deployment (continuous deployment) process there are few main areas which need to be covered. Following are our prerequisites.

Recent Posts By vishal sahasrabuddhe
  • Checks and Balances to Build Stronger Code
  • Make Presentation and Training More Effective
  • Release Engineering vs. Release Management
Avatar photo More from vishal sahasrabuddhe
Related Posts
  • Essential Ingredients for Continuous Deployment
  • “I want to do Continuous Deployment”
  • Assembling the Key Components of Continuous Delivery
    Related Categories
  • Blogs
  • Doin' DevOps
    Related Topics
  • continuous delivery
  • continuous deployment
  • continuous integration
  • release management
  • SCM
Show more
Show less

– Source code
– Builds System
– Deployments
– QA Automation

TechStrong Con 2023Sponsorships Available

To describe above here are the main ingredients
– Configuration Management
– continuous integration/ Automated Build
– Automated Deployment
–  Automated testing

Configuration management
Very fist step to align your development practice is to select the right source control tool. Once you have the tool then you need to think of branching policy to make sure the starting point of the workflow is well defined and accepted by developers during their development phase.
There could be lot of process around merging, branching code review etc which needs to be address and policy driven. Some key points could be
– Developments and release branch should be separate.
– Each change goes qualifies for next stage only if reviewed.
– Code quality should not go down.

Following are a few options
 Source control tool
– SVN (Free)
– CVS (Free)
– Git (Free)
-Perforce (Paid)
-Clearcase (Paid)

Build system
Team needs to have robust and automated build system which can take care of all our needs (build, analysis, deployment etc).
– Need to have automated build system which can keep building the source code from various branches to make sure we catch the broken piece fast.
– Build can run the unit test and provide report
– Build can check the health of the code by running findbugs and checkstyle (if any).

Above checks can verify the heath and quality of the code (static analysis).
Nothing should go beyond this point if any of the above is not matching with our criteria.

Till this point we have reached to qualify the minimum criteria for continuous Integration.
Here are few tools which comes under Build system
Build Tools
– Ant
– Maven
– Gradle
– Make
CI tool
– Jenkins
– Cruise control
– Luntbuild
-Bamboo
Repository management
– Nexus
– Artifactory
(Above are not open source but they are free to use with limited features).
Code quality check
– Findbugs
– jacoco
– cobertura

**Deployments **

Deployments are the next big bottleneck for continuous deployment.
We need to have a deployment tool to move ahead,
– configuration management tool like puppet or chef
– Private cloud management (Openstack)
– Third party tool like xl deploy, Udeploy, Opsworks etc..

Deployment strategy can be chosen on the basis of our need and the tool we are using, most of the plugins are available in jenkins (or bamboo) to make tight integration of build and deployment.

(At this stage I am not considering the dynamic provisioning of hardware in this section).

Automated testing

Once deployment phase is over QA regression suite can be triggered via jenkins (or any other tool) and entire reports can be published to central QA metrics board.
This this point we can even use jacoco/cobertura to provide functional code coverage(for Java code) to demonstrate how much % of code QA regression/automation is covering and what is the level of automation.
Similar way job can be setup to raise jira/bug ticket to file issues found during any of the above step.

Finally we can have last step which can perform the final release build and push to staging /production in similar fashion.

 Resource Provisioning

Developers/QA can just get the hardware either from infra team or if auto provisioning is enabled they can setup the environment and use the jenkins to perform build+deployment+QA
If we talk about automatic scaling of environment, we can use AWS for same.
Jenkins has AWS plugin to launch instance, This can be setup to launch instance dynamically and run the application and perform the QA Automation. Once need is over aws instance can be terminated automatically.

Reference-1

Reference-2

Filed Under: Blogs, Doin' DevOps Tagged With: continuous delivery, continuous deployment, continuous integration, release management, SCM

« DevOps in a Hybrid Model
Will DevOps Kill IT Outsourcing?: Part 1 »

Techstrong TV – Live

Click full-screen to enable volume control
Watch latest episodes and shows

Upcoming Webinars

Automating Day 2 Operations: Best Practices and Outcomes
Tuesday, February 7, 2023 - 3:00 pm EST
Shipping Applications Faster With Kubernetes: Myth or Reality?
Wednesday, February 8, 2023 - 1:00 pm EST
Why Current Approaches To "Shift-Left" Are A DevOps Antipattern
Thursday, February 9, 2023 - 1:00 pm EST

Sponsored Content

The Google Cloud DevOps Awards: Apply Now!

January 10, 2023 | Brenna Washington

Codenotary Extends Dynamic SBOM Reach to Serverless Computing Platforms

December 9, 2022 | Mike Vizard

Why a Low-Code Platform Should Have Pro-Code Capabilities

March 24, 2021 | Andrew Manby

AWS Well-Architected Framework Elevates Agility

December 17, 2020 | JT Giri

Practical Approaches to Long-Term Cloud-Native Security

December 5, 2019 | Chris Tozzi

Latest from DevOps.com

Azure Migration Strategy: Tools, Costs and Best Practices
February 3, 2023 | Gilad David Maayan
Blameless Integrates Incident Management Platform With Opsgenie
February 3, 2023 | Mike Vizard
OpenAI Hires 1,000 Low Wage Coders to Retrain Copilot | Netflix Blocks Password Sharing
February 2, 2023 | Richi Jennings
Red Hat Brings Ansible Automation to Google Cloud
February 2, 2023 | Mike Vizard
Three Trends That Will Transform DevOps in 2023
February 2, 2023 | Dan Belcher

TSTV Podcast

On-Demand Webinars

DevOps.com Webinar ReplaysDevOps.com Webinar Replays

GET THE TOP STORIES OF THE WEEK

Most Read on DevOps.com

New Relic Bolsters Observability Platform
January 30, 2023 | Mike Vizard
Jellyfish Adds Tool to Visualize Software Development Workflows
January 31, 2023 | Mike Vizard
OpenAI Hires 1,000 Low Wage Coders to Retrain Copilot | Netflix Blocks Password Sharing
February 2, 2023 | Richi Jennings
Cisco AppDynamics Survey Surfaces DevSecOps Challenges
January 31, 2023 | Mike Vizard
Let the Machines Do It: AI-Directed Mobile App Testing
January 30, 2023 | Syed Hamid
  • Home
  • About DevOps.com
  • Meet our Authors
  • Write for DevOps.com
  • Media Kit
  • Sponsor Info
  • Copyright
  • TOS
  • Privacy Policy

Powered by Techstrong Group, Inc.

© 2023 ·Techstrong Group, Inc.All rights reserved.