Book Image

Accelerate DevOps with GitHub

By : Michael Kaufmann
Book Image

Accelerate DevOps with GitHub

By: Michael Kaufmann

Overview of this book

This practical guide to DevOps uses GitHub as the DevOps platform and shows how you can leverage the power of GitHub for collaboration, lean management, and secure and fast software delivery. The chapters provide simple solutions to common problems, thereby helping teams that are already on their DevOps journey to further advance into DevOps and speed up their software delivery performance. From finding the right metrics to measure your success to learning from other teams’ success stories without merely copying what they’ve done, this book has it all in one place. As you advance, you’ll find out how you can leverage the power of GitHub to accelerate your value delivery – by making work visible with GitHub Projects, measuring the right metrics with GitHub Insights, using solid and proven engineering practices with GitHub Actions and Advanced Security, and moving to event-based and loosely coupled software architecture. By the end of this GitHub book, you'll have understood what factors influence software delivery performance and how you can measure your capabilities, thus realizing where you stand in your journey and how you can move forward.
Table of Contents (31 chapters)
1
Part 1: Lean Management and Collaboration
7
Part 2: Engineering DevOps Practices
14
Part 3: Release with Confidence
19
Part 4: Software Architecture
22
Part 5: Lean Product Management
25
Part 6: GitHub for your Enterprise

How to deploy to GKE

We also deploy the same code to GKE. You can find the hands-on steps at https://github.com/wulfland/AccelerateDevOps/blob/main/ch9_release/Deploy_to_GKE.md.

Before you perform these hands-on steps, here are some details regarding what is happening.

Deployment of Google resources

The complete deployment happens in the setup-gke.sh script that you execute in Cloud Shell. The script creates a GKE cluster with one node. For testing purposes, this is enough:

gcloud container clusters create $GKE_CLUSTER --num-nodes=1

Additionally, the script creates an artifact repository for Docker containers and a service account to perform the deployments.

In Kubernetes, there is the concept of pods. These contain the containers and are deployed using deployments in a YAML file, which, in this case, is Deployment.yaml. The deployment defines the container and binds it to an image:

spec:
  containers:
  - name: $GKE_APP_NAME
 ...