# Deployment of content-driven web app backends

Learn more about deploying your web application in the
[hosting](https://developers.google.com/solutions/content-driven/hosting), which also covers additional
details about hosting static web content and other types of assets on a hosting
provider.

Consider setting up a pipeline that automates the testing and deployment of the
backend. Such a system can improve the overall health and resilience of your
application.

## Build pipeline

The build pipeline for your backend covers the entire build, test, deploy, and
promote lifecycle of your application. Using a build pipeline that includes
continuous integration (CI) and continuous delivery (CD) accelerates releases by
continuously testing and deploying new application versions. The rigorous
execution of tests improves reliability, and automation reduces the overall
risks caused by manual steps in the process.

The build pipeline is coupled with your type of application, architecture, and
deployment pipeline. Most popular CI/CD systems include the functionalities
necessary to set up an end-to-end build pipeline. For example, [Cloud
Build](https://cloud.google.com/build) offers CI/CD capabilities for serverless
applications on Google Cloud. However, more [advanced use cases and
architectures](https://cloud.google.com/docs/ci-cd) may require additional
configuration and tooling.

## Continuous Delivery and Continuous Integration

Continuous delivery (CD) automates code release to staging or production
environments. It is usually part of the end-to-end build pipeline that
integrates with the code repository to trigger tests, including [continuous
integration
(CI)](https://developers.google.com/solutions/content-driven/backend/testing#continuous_integration_and_automated_testing)
automatically. If all tests pass successfully, the CD system is triggered to
deploy a new application version. The application could be deployed to a
[staging
environment](https://developers.google.com/solutions/content-driven/backend/testing#production_and_staging_environments)
first, where additional tests may be performed before it is promoted to the
production environment.

Beyond your application's code, this could also apply to any configuration
changes, database schema changes, version upgrades or any other maintenance
tasks.

[Learn more about the principles behind continuous
delivery](https://dora.dev/devops-capabilities/technical/continuous-delivery/)
(CD) and the best practices to follow when setting it up as part of your
pipeline.

## Deployment automation

As a next step, automating your application deployment to the testing,staging
and production environments can reduce the risk of issues introduced by manual
intervention and make your application more resilient. This part of the
deployment pipeline taks the output of the continuous integration (CI) system
and prepares the target environment, runs any deployment-specific tests and
finally deploys the application.

[Learn more about the principles behind automating your
deployment](https://dora.dev/devops-capabilities/technical/deployment-automation/)
and the best practices to follow when setting up your own pipeline.