Continuous deployment is a software delivery practice that automatically deploys changes to a target environment after they pass the required validation.
Continuous deployment (CD) automatically deploys code changes to a production or testing environment after the pipeline’s checks and tests succeed. It extends continuous integration (CI) with deployment steps. section 8.5
A reliable CD workflow should:
Run builds, checks, and tests before deployment; abort deployment if any fail. section 8.5
Use simple, thoroughly tested deployment code that can run unattended in the cloud; test it locally first. section 8.5
Deploy stable infrastructure separately when it does not need frequent updates; for production, use a managed database outside the cluster. section 10.10.3
Microservice deployment
A GitHub Actions workflow responds to code changes pushed to GitHub, runs checks and tests, then deploys the video-streaming microservice to Kubernetes if validation succeeds. section 8.9
Figure 8.4 A CD pipeline automatically deploying a microservice to production in response to changes made to the code
See the pipeline’s path from repository changes through validation to microservice deployment. section 8.5
How Bootstrapping Microservices, Second Edition: With Docker, Kubernetes, GitHub Actions, and Terraform covers it
How deep it goes
Explains pipeline validation, deployment-code reliability, and local testing, then applies them to a Kubernetes microservice workflow.
Examples
Uses a video-streaming microservice deployed to Kubernetes and separately applies MongoDB and RabbitMQ infrastructure configurations.
What it assumes
Builds on continuous integration and assumes familiarity with a code repository, while recommending local testing of deployment code.
What you can do after
Build a GitHub Actions workflow that validates code changes and deploys a microservice to Kubernetes.
How it connects
Connects continuous integration with GitHub Actions, Kubernetes, and microservice deployment.
Effective Platform EngineeringContinuous deployment is a software delivery practice in which validated changes are automatically released to a target environment.
Machine Learning Platform EngineeringContinuous deployment is a software-delivery practice that automatically releases verified changes to a target execution environment.
Automating API DeliveryContinuous deployment is the practice of automatically deploying every change that passes all delivery-pipeline stages to production without human intervention.
deployment pipelinecontrasts with · A sequence of automated or manual stages that builds, tests or validates, packages, and delivers software or models toward deployment.
productionuses · A production environment is the live operational setting in which software or other systems serve real users, workloads, or business processes.
GitOpsused by · GitOps is an operational approach that uses version-controlled declarative configuration as the source of truth and automation to apply or reconcile system state.
ArgoCDuses · Argo CD is a declarative GitOps continuous-delivery tool that deploys and synchronizes applications on Kubernetes from version-controlled configuration.
software as a serviceused by · Software as a service is a software delivery model in which a provider hosts and operates applications that users access over a network.
GitLab Pipelinesuses · GitLab Pipelines is GitLab’s continuous integration and delivery system for automating repository-based build, test, and deployment workflows.
This explainer was generated by Manning's knowledge graph from the text of Bootstrapping Microservices, Second Edition: With Docker, Kubernetes, GitHub Actions, and Terraform. The section links point to the parts of the book it draws on.