liveBook · Manning

Manual deployment

As explained in Bootstrapping Microservices, Second Edition: With Docker, Kubernetes, GitHub Actions, and Terraform

Manual deployment is the practice of releasing software through steps executed directly by a person rather than by an automated workflow.

Manual deployment releases software through commands executed directly by a person. It is the practical baseline for automation: first run the deployment locally, then capture the working steps in scripts that can be tested before production use. section 8.9.3

A workable manual deployment requires:

  • A deployment target, such as a Kubernetes cluster running in the cloud, because cloud automation cannot reach a local Kubernetes instance. section 8.9.3
  • A container registry for storing the image that will be deployed. section 8.9.3
  • A locally tested sequence for building, publishing, and deploying the microservice. section 8.9.3

From commands to repeatable deployment

Set registry and version variables, build a production container image, authenticate to the registry, push the image, and apply the Kubernetes configuration. Once these commands work locally, place them in shell scripts so later changes can be tested before running them through GitHub Actions. section 8.9.3 section 8.6

Listing 8.4 A shell script for building an image
docker build -t                                    #1
   $CONTAINER_REGISTRY/video-streaming:$VERSION  #1
   --file ./Dockerfile-prod .                    #1
#1 Builds the images and tags it based on environment variables

Browse the image-building command that forms the first step of the scripted deployment sequence. section 8.9.3

How Bootstrapping Microservices, Second Edition: With Docker, Kubernetes, GitHub Actions, and Terraform covers it

How deep it goes
Explains deployment prerequisites and scripted build, publish, and Kubernetes steps, but does not develop the automated pipeline itself.
Examples
Uses shell scripts for building and publishing a container image and applying expanded Kubernetes configuration.
What it assumes
Assumes a deployable microservice and access to a cloud Kubernetes cluster and container registry, while validating the process locally first.
What you can do after
Apply it via Docker and kubectl to validate a microservice deployment locally before moving the process into GitHub Actions.
How it connects
Connects manual deployment to shell scripting, container registries, Kubernetes, cloud environments, and automated deployment.

Related concepts

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.