From 8562bf5b5aaf4212fde5afabb122e8133a27464a Mon Sep 17 00:00:00 2001 From: William Carroll Date: Sun, 5 Apr 2020 15:40:47 +0100 Subject: Rename //deploy -> //nix_gcr I create //deploy when I first deployed a few applications that I packaged with Nix. This was before I setup socrates as my "cloud". Now I deploy all of my services using NixOS. The name "deploy" is a bit stale. I'm renaming it //nix_gcr because it documents how I can deploy Nix-packaged projects on Google Cloud Run. --- nix_gcr/README.md | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 nix_gcr/README.md (limited to 'nix_gcr/README.md') diff --git a/nix_gcr/README.md b/nix_gcr/README.md new file mode 100644 index 000000000000..9d111cf6bba5 --- /dev/null +++ b/nix_gcr/README.md @@ -0,0 +1,62 @@ +# Nix + Google Cloud Run (i.e. GCR) + +I'm documenting how I currently deploy projects that I package with Nix on +Google Cloud Run. + +I'd like to automate this workflow as much as possible, and I intend to do just +that. For now, I'm running things manually until I can design an generalization +that appeals to me. + +## Dependencies +- `nix-build` +- `docker` +- `gcloud` + +## Step-by-step + +1. Use `nix-build` to create our Docker image for Cloud Run. + +```shell +> nix-build ./cloud_run.nix +``` + +This outputs a Docker image at `./result`. + +1. Load the built image (i.e. `./result`) into `docker` so that we can tag it + and push it to the Google Container Registry (i.e. GCR). + +```shell +> sudo docker load <./result +``` + +1. (Optionally) Run the image locally to verify its integrity. + +```shell +> sudo docker run -d -p 8080:4242 : +``` + +1. Tag and push the image to GCR. + +```shell +> sudo docker tag :