* [Topics](/en/topics "Topics")
* [Application development and delivery](/en/topics/application-modernization "Application development and delivery")
* What is deployment automation?
What is deployment automation?
==============================
Published  September 10, 2020•*3*-minute read
Copy URL
Jump to section
---------------
OverviewCI/CD and deployment automationSupporting DevOpsAutomate software deploymentAnsible Automation Platform
Overview
--------
Deployment automation provides the ability to move your software between testing and production environments by using automated processes. This leads to repeatable and reliable deployments across the software delivery cycle.
Deployment automation lets you release new features and applications more quickly and frequently, while removing the need for human intervention in application deployments.
CI/CD and deployment automation
-------------------------------
Deployment automation is an important piece of enabling [DevOps](/en/topics/devops) practices and managing a [CI/CD pipeline](/en/topics/devops/what-cicd-pipeline).
[Continuous integration/continuous delivery](/en/topics/devops/what-is-ci-cd) (CI/CD) is a method to frequently deliver applications to customers and relies on ongoing automation and continuous monitoring throughout the [lifecycle](/en/topics/devops/what-is-application-lifecycle-management-alm), from integration and testing to [delivery](/en/topics/devops/what-is-continuous-delivery) and [deployment](/en/topics/automation/what-is-deployment-automation).
Continuous integration usually means a developer’s changes to an application are automatically bug tested and uploaded to a repository (like [GitHub](https://redhatofficial.github.io/#!/main) or a [container registry](/en/topics/cloud-native-apps/what-is-a-container-registry)), where they can then be deployed to a live production environment by the operations team (or using deployment automation).
Once a developer’s changes to an application are merged, those changes are validated by automatically building the application and running different levels of automated testing, typically unit and integration tests, to ensure the changes haven’t broken the app.
What is continuous delivery? Learn how a CI/CD pipeline lets you to contribute to app development in an automated way:
This video can't play due to privacy settings
To change your settings, select the "Cookie Preferences" link in the footer and opt in to "Advertising Cookies or try disabling adblockers."
Continuous deployment (another possible definition for "CD") can refer to using deployment automation to release a developer’s changes from the repository to production, where it is usable by customers.
Because there is no manual deployment gate at this stage of the deployment pipeline before production, continuous deployment relies heavily on well-designed test automation.
Continuous deployment through automation addresses the problem of overloading operations teams with manual processes that slow down app delivery.
It builds on the benefits of continuous integration by automating the next stage in the deployment pipeline.
Recommended for you
Building AI-Ready Infrastructure with Red Hat OpenShift
-------------------------------------------------------
[Watch the webinar](https://www.redhat.com/en/events/webinar/building-ai-ready-infrastructure?percmp=RHCTG0250000455235)
Supporting DevOps with automation
---------------------------------
CI/CD should be supported by development and operations teams working together in an agile way with either a DevOps or [Site reliability engineering (SRE)](/en/topics/devops/what-is-sre) approach.
Adopting [agile methodologies](/en/topics/devops/what-is-agile-methodology) for software development leads to faster release cycles, less downtime, and the opportunity to fix mistakes as they happen instead of waiting until after a new release.
Deployment automation doesn’t work when the development team deploys applications or configures environments one way and the operations teams deploys and configures another way.
In order for the environment to be automated it needs to be consistent. The same deployment process should be used for every environment, including your production environment.
When these teams are not in alignment you also run the risk of the operations team handling deployments manually, leading to errors, inconsistencies, and a longer release cycle.
This is why having the development and operations teams working together and following DevOps practices is so important. Your deployment automation process needs to be created by the dev and ops teams so that there is consistency and the process is repeatable.
[Ansible can help make DevOps a reality](/en/technologies/management/ansible/devops "Red Hat Ansible Automation Platform for DevOps")
Automate the software deployment process
----------------------------------------
A deployment pipeline typically follows 3 main steps (though you may also have more): build, test, deploy. This is the pipeline that supports your ability to automate the deployment process and ensures that code moves from being committed to deployment quickly.
* **Build:** A developer commits code to a software repository. Code changes should be integrated into environments that match the production environment.
* **Test:** A deployment automation tool, such as [Jenkins](https://www.jenkins.io/) or [Ansible®](/en/technologies/management/ansible/application-delivery), will see the new code and trigger a series of tests. Once a build has passed all of the tests, it can be released to production. Without a deployment automation process, this step happens manually.
* **Deploy:** In this stage the application is deployed to production and available to users.
For agile and DevOps teams, testing should occur simultaneously with development. Feedback should be passed back to the development team in a continuous manner.
Continuous integration is an important part of the development process to keep these frequent updates from conflicting with each other. Successful CI means new code changes to an app are regularly built, tested, and merged to a shared repository.
You should also be able to deploy to an environment on demand. If you need put in a request for an environment to be created your process is not automated.
[Get started with automation for your enterprise](/en/engage/automated-enterprise-ebook-20171107 "SOLP: Ebook The Automated Enterprise")
Red Hat Ansible Automation Platform for deployment automation
-------------------------------------------------------------
[Red Hat Ansible Automation Platform](/en/technologies/management/ansible) is a subscription product that includes all the tools needed to implement enterprise-wide automation, including playbooks, a visual dashboard, and analytics. Ansible Automation Platform allows you to consistently deploy multi-tier applications, configure services, and push application artifacts—all with one common framework.
[Ansible Playbooks](/en/topics/automation/what-is-an-ansible-playbook)—written in human-readable [YAML](/en/topics/automation/what-is-yaml)—describe the desired state of your systems, which are usually kept in source control. Ansible Automation Platform does the work of getting your systems to the desired state, no matter their current state. Ansible Playbooks can make your installations, upgrades, and day-to-day management repeatable and reliable.
Enterprises need the ability to easily create automation, but also to share and reuse automation across projects and teams with the right level of governance and control. With Ansible Automation Platform, you can deploy new applications and services faster, [manage IT infrastructure](/en/technologies/management/ansible/operating-systems) more efficiently, and increase productivity in application development.
[Learn more about Ansible Automation Platform](/en/technologies/management/ansible "product | red hat ansible automation platform | try it")
The official Red Hat blog
-------------------------
Get the latest information about our ecosystem of customers, partners, and communities.
[Keep reading](/en/blog "The official Red Hat blog")
All Red Hat product trials
--------------------------
Our no-cost product trials help you gain hands-on experience, prepare for a certification, or assess if a product is right for your organization.
[Keep reading](/en/products/trials "All Red Hat product trials")
Keep reading
------------
### What is serverless?
Serverless is a cloud-native development model that allows developers to build and run applications without having to manage servers.
[Read the article](/en/topics/cloud-native-apps/what-is-serverless "article | what is serverless?")
### Stateful vs stateless applications
The difference between stateful and stateless applications is that stateful applications save past and present information while stateless applications don’t.
[Read the article](/en/topics/cloud-native-apps/stateful-vs-stateless "article | Stateful vs stateless applications")
### What is application migration?
Application migration is a process that can improve workloads by moving an application from one environment to another.
[Read the article](/en/topics/cloud-native-apps/application-migration "article | what is application migration")
Application development and delivery resources
----------------------------------------------
### Related content
* Blog post
  [New observability features in Red Hat OpenShift 4.21 and Red Hat Advanced Cluster Management for Kubernetes 2.16](/en/blog/new-observability-features-red-hat-openshift-421-and-red-hat-advanced-cluster-management-kubernetes-216)
* Case study
  [Powering O2’s next-generation 5G network with Red Hat OpenShift](/en/resources/o2-czech-republic-case-study)
* Overview
  [Manufacturers combine modernization and continuity with Red Hat](/en/resources/anon-manufacturing-overview)
* Blog post
  [Strategic momentum: The new era of Red Hat and HPE Juniper network automation](/en/blog/strategic-momentum-new-era-red-hat-and-hpe-juniper-network-automation)
### Related articles
* [What is security automation?](/en/topics/automation/what-is-security-automation)
* [Red Hat OpenShift for developers](/en/technologies/cloud-computing/openshift/developers)
* [Why choose Red Hat for automation?](/en/topics/automation/why-choose-red-hat-for-automation)
* [What is an Ansible Playbook?](/en/topics/automation/what-is-an-ansible-playbook)
* [What is SOAR?](/en/topics/security/what-is-soar)
* [What is blue green deployment?](/en/topics/devops/what-is-blue-green-deployment)
* [How to build an IT automation strategy](/en/topics/automation/build-an-automation-strategy)
* [Learning Ansible basics](/en/topics/automation/learning-ansible-tutorial)
* [Ansible vs. Puppet: What you need to know](/en/topics/automation/ansible-vs-puppet)
* [Ansible vs. Salt: What you need to know](/en/topics/automation/ansible-vs-salt)
* [Ansible vs. Chef: What you need to know](/en/topics/automation/ansible-vs-chef)
* [Ansible vs. Terraform](/en/topics/automation/ansible-vs-terraform)
* [What is IT service management (ITSM)?](/en/topics/automation/what-is-it-service-management-itsm)
* [Automating Microsoft Windows with Red Hat Ansible Automation Platform](/en/technologies/management/ansible/automate-microsoft-windows-with-ansible)
* [What is DevOps automation?](/en/topics/automation/what-is-devops-automation)
* [What is Infrastructure as Code (IaC)?](/en/topics/automation/what-is-infrastructure-as-code-iac)
* [What is application lifecycle management (ALM)?](/en/topics/devops/what-is-application-lifecycle-management-alm)
* [What is CI/CD?](/en/topics/devops/what-is-ci-cd)
* [Ansible vs. Kubernetes: how they work together](/en/topics/automation/Ansible-vs-Kubernetes)
* [What is cloud migration? And how can automation help?](/en/topics/automation/what-is-cloud-migration)
* [What is a configuration management database (CMDB)?](/en/topics/automation/what-is-a-configuration-management-database-cmdb)
* [What is Istio?](/en/topics/microservices/what-is-istio)
* [What is a software-defined data center (SDDC)?](/en/topics/automation/what-is-a-sddc)
* [What is serverless?](/en/topics/cloud-native-apps/what-is-serverless)
* [What is a CI/CD pipeline?](/en/topics/devops/what-cicd-pipeline)
* [What is IT automation?](/en/topics/automation/what-is-it-automation)
* [Why choose Red Hat Ansible Automation Platform as your AI foundation?](/en/topics/automation/automation-and-ai)
* [Stateful vs stateless applications](/en/topics/cloud-native-apps/stateful-vs-stateless)
* [What is access control?](/en/topics/security/what-is-access-control)
* [What is application migration?](/en/topics/cloud-native-apps/application-migration)
* [What is virtual infrastructure management? And how can automation help?](/en/topics/automation/virtual-infrastructure-management)
* [What is IT migration?](/en/topics/automation/what-is-it-migration)
* [How to automate migrations with Red Hat Ansible Automation Platform](/en/technologies/management/ansible/automate-migrations-with-red-hat-ansible-automation-platform)
* [Why use Red Hat Ansible Automation Platform with Red Hat OpenShift?](/en/technologies/cloud-computing/openshift/ansible-on-openshift)
* [What is CloudOps?](/en/topics/automation/what-is-cloudops)
* [What is application integration?](/en/topics/cloud-native-apps/application-integration)
* [Red Hat Satellite on Red Hat Enterprise Linux](/en/technologies/management/satellite/satellite-for-rhel)
* [What is role-based access control (RBAC)?](/en/topics/security/what-is-role-based-access-control)
* [Which Red Hat Ansible Automation Platform deployment option is right for you?](/en/technologies/management/ansible/ansible-deployment-options)
* [What is an Ansible module—and how does it work?](/en/topics/automation/what-is-an-ansible-module)
* [How to manage and automate applications at the edge](/en/topics/edge-computing/how-to-manage-automate-applications-edge)
* [How to build an automation Center of Excellence](/en/topics/automation/how-to-build-automation-center-of-excellence)
* [Shift left vs. shift right](/en/topics/devops/shift-left-vs-shift-right)
* [What is orchestration?](/en/topics/automation/what-is-orchestration)
* [How to adopt Automation as Code: Extending Infrastructure as Code into Policy as Code](/en/topics/automation/how-to-adopt-automation-as-code)
* [What is a webhook?](/en/topics/automation/what-is-a-webhook)
* [Red Hat Lightspeed data and application security](/en/topics/management/data-application-security)
* [What is an Ansible Role—and how is it used?](/en/topics/automation/what-is-an-ansible-role)
* [What is data management?](/en/topics/data-services/what-is-data-management)
* [Gain security with Red Hat Ansible Automation Platform](/en/technologies/management/ansible/gain-security-with-red-hat-ansible-automation-platform)
* [What is NetOps?](/en/topics/automation/what-is-netops)
* [What is an Ansible Rulebook?](/en/topics/automation/what-is-an-ansible-rulebook)
* [What is configuration management](/en/topics/automation/what-is-configuration-management)
* [What is event-driven automation?](/en/topics/automation/what-is-event-driven-automation)
* [Zero-Touch Provisioning and telco automation with Red Hat](/en/topics/telecommunications/zero-touch-provisioning-and-telco-automation-at-red-hat)
* [What is infrastructure automation?](/en/topics/automation/what-is-infrastructure-automation)
* [Why choose Red Hat for a DevOps Platform?](/en/topics/devops/why-choose-red-hat-for-devops)
* [What is DevSecOps?](/en/topics/devops/what-is-devsecops)
* [What is provisioning?](/en/topics/automation/what-is-provisioning)
* [What is YAML?](/en/topics/automation/what-is-yaml)
* [Understanding Ansible, Terraform, Puppet, Chef, and Salt](/en/topics/automation/understanding-ansible-vs-terraform-puppet-chef-and-salt)
* [What is compliance management?](/en/topics/management/what-is-compliance-management)
* [What is cloud orchestration?](/en/topics/automation/what-is-cloud-orchestration)
* [What is an application development platform?](/en/topics/cloud-native-apps/what-app-dev-platform)
* [What is a configuration file?](/en/topics/linux/what-configuration-file)
* [Security in the software development lifecycle](/en/topics/security/software-development-lifecycle-security)
* [Ansible vs. Red Hat Ansible Automation Platform](/en/technologies/management/ansible/ansible-vs-red-hat-ansible-automation-platform)
* [What are cloud applications?](/en/topics/cloud-native-apps/what-are-cloud-applications)
* [What is cloud automation?](/en/topics/automation/what-is-cloud-automation)
* [What is agile methodology?](/en/topics/devops/what-is-agile-methodology)
* [What is network automation?](/en/topics/automation/what-is-network-automation)
* [What are managed IT services?](/en/topics/cloud-computing/what-are-managed-it-services)
* [What is business process management?](/en/topics/automation/what-is-business-process-management)
* [What is patch management (and automation)?](/en/topics/management/what-patch-management-and-automation)
* [What is the Red Hat Ansible Automation Platform automation controller?](/en/technologies/management/ansible/automation-controller-product-feature)
* [What is business process automation?](/en/topics/automation/what-is-business-process-automation)
* [How to deploy Red Hat OpenShift](/en/technologies/cloud-computing/openshift/deploy-red-hat-openshift)
* [Kubernetes-native Java development with Quarkus](/en/technologies/cloud-computing/openshift/quarkus)
* [What is IT process automation?](/en/topics/automation/what-is-it-process-automation)
* [What is business optimization?](/en/topics/automation/business-optimization)
* [What is an SDK?](/en/topics/cloud-native-apps/what-is-SDK)
* [What is Kubernetes cluster management?](/en/topics/containers/what-is-kubernetes-cluster-management)
* [What is SRE?](/en/topics/devops/what-is-sre)
* [What is a Java runtime environment (JRE)?](/en/topics/cloud-native-apps/what-is-a-Java-runtime-environment)
* [Why choose the Red Hat build of Quarkus?](/en/topics/cloud-native-apps/why-choose-red-hat-quarkus)
* [What is an application architecture?](/en/topics/cloud-native-apps/what-is-an-application-architecture)
* [What is Quarkus?](/en/topics/cloud-native-apps/what-is-quarkus)
* [What are Java frameworks?](/en/topics/cloud-native-apps/what-is-a-Java-framework)
* [What is risk management?](/en/topics/management/what-is-risk-management)
* [What is IT system life-cycle management?](/en/topics/management/it-system-life-cycle-management)
* [What is an SOE?](/en/topics/management/what-is-an-soe)
* [What is an IDE?](/en/topics/platform-engineering/what-is-ide)
* [What is robotic process automation (RPA?)](/en/topics/automation/what-is-robotic-process-automation)
* [What is network management?](/en/topics/management/what-is-network-management)
* [What is cloud management?](/en/topics/cloud-computing/what-is-cloud-management)
* [What's business automation?](/en/topics/automation/whats-business-automation)
[More about this topic](/en/topics/application-modernization "More about this topic")