Document current deployment tactics
Adding a README including my current method for deploying. See the README for more details. All of this is quite virgin and as such is subject to change.
This commit is contained in:
parent
ff06ffcf9c
commit
8ad51b24dd
1 changed files with 59 additions and 0 deletions
59
docker/README.md
Normal file
59
docker/README.md
Normal file
|
@ -0,0 +1,59 @@
|
|||
# Deployments
|
||||
|
||||
I'm documenting how I currently deploy things.
|
||||
|
||||
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 <name>:<tag>
|
||||
```
|
||||
|
||||
1. Tag and push the image to GCR.
|
||||
|
||||
```shell
|
||||
> sudo docker tag <name>:<label> gcr.io/<google-cloud-project-id>/<name>:<latest>
|
||||
```
|
||||
|
||||
# TODO: Prefer using a command line tool like `gcloud` for these steps.
|
||||
|
||||
1. Visit Google Cloud Run; create a new service with "Create Service"; select
|
||||
the uploaded Docker image from the "Container Image URL" field; click
|
||||
"Create" to deploy.
|
||||
|
||||
|
||||
## Notes
|
||||
|
||||
You may need to authorize `gcloud` by running the following:
|
||||
|
||||
```shell
|
||||
> sudo gcloud auth login --no-launch-browser
|
||||
```
|
||||
|
||||
You must use `sudo` here since the `docker` invocations are prefixed with `sudo`
|
||||
as well.
|
Loading…
Reference in a new issue