Files
gitlab-gcp-deployment/README.org

2.0 KiB

Gitlab GCP Deployment

This org file is intended to capture and automate the end to end workflow to deploy an instance of Gitlab on Google Cloud Platform.

We'll use shell blocks inside this file which can be executed with Babel. Additionally we want to explore tangling these source code blocks to shell script files within this document so that the scripts can then be executed by a continous delivery pipeline.

Notes:

  1. To interact with this org file we're using the Humacs distribution of Emacs.
  2. This workflow has only been tested on the Ubuntu 20.04 linux distribution, via WSL 2.

Step 1 - Ensure GCP SDK is installed

To automate our interactions with Google Cloud Platform we'll use the GCP SDK which provides us with a number of command line tools to interact with the platform, such as gcloud, gsutil and kubectl.

Tangle the shell block below to a shell script by pressing , b t in emacs command mode:

# Add the Cloud SDK distribution URI as a package source
echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee /etc/apt/sources.list.d/google-cloud-sdk.list

# Make sure apt-transport-https is installed
sudo apt-get install -y apt-transport-https ca-certificates gnupg

# Import the Google Cloud public key
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add -

# Update and install the SDK
sudo apt-get update && sudo apt-get install -y google-cloud-sdk