From 7a91bb42ba33ef3bb8fd004cf5bc97b8d789f17f Mon Sep 17 00:00:00 2001 From: Jeremy Wall Date: Mon, 30 Nov 2020 12:29:31 -0500 Subject: [PATCH] DEVOPS: scripting for deployment to gcloud storage --- src/Makefile | 18 +++++++++++++++ src/gcloud/buckets.yaml | 49 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+) create mode 100644 src/Makefile create mode 100644 src/gcloud/buckets.yaml diff --git a/src/Makefile b/src/Makefile new file mode 100644 index 00000000..6f12376e --- /dev/null +++ b/src/Makefile @@ -0,0 +1,18 @@ +output := dist/dynamicbible/ + +test: + npm run-script test-headless + +# For some reason karma is unable to connect to the browser here. +# I don't want to debug so not using test as a dependency. +build: test + npm run-script build + +deploy-prod: build + gsutil -m rsync -d -r ${output} gs://dynamicbible.com + +deploy-staging: build + gsutil -m rsync -d -r ${output} gs://staging.dynamicbible.com + +update-bucket-configs: gcloud/buckets.yaml + gcloud deployment-manager deployments update dynamicbible-buckets --config gcloud/buckets.yaml diff --git a/src/gcloud/buckets.yaml b/src/gcloud/buckets.yaml new file mode 100644 index 00000000..c69fa540 --- /dev/null +++ b/src/gcloud/buckets.yaml @@ -0,0 +1,49 @@ +--- +resources: + - name: staging.dynamicbible.com + type: storage.v1.bucket + properties: + bucket: staging.dynamicbible.com + project: "dynamicbible-7c6cf" + location: "us-east1" + website: + notFoundPage: 404.html + mainPageSuffix: index.html + acl: + - entity: "project-owners-dynamicbible-7c6cf" + role: OWNER + - entity: "project-editors-dynamicbible-7c6cf" + role: WRITER + - entity: "project-viewers-dynamicbible-7c6cf" + role: READER + defaultObjectAcl: + - entity: allUsers + role: READER + # - name: dynamicbible.com + # type: storage.v1.bucket + # properties: + # bucket: dynamicbible.com + # project: "dynamicbible-7c6cf" + # location: "us-east1" + # website: + # notFoundPage: 404.html + # mainPageSuffix: index.html + # acl: + # - entity: "project-owners-dynamicbible-7c6cf" + # role: OWNER + # - entity: "project-editors-dynamicbible-7c6cf" + # role: WRITER + # - entity: "project-viewers-dynamicbible-7c6cf" + # role: READER + # defaultObjectAcl: + # - entity: allUsers + # role: READER +outputs: + #- name: dynamicbible.comselfLink + # value: "https://console.cloud.google.com/storage/browser/dynamicbible.com" + #- name: dynamicbible.comgsLink + # value: "gs://dynamicbible.com" + - name: staging.dynamicbible.comselfLink + value: "https://console.cloud.google.com/storage/browser/staging.dynamicbible.com" + - name: staging.dynamicbible.comgsLink + value: "gs://staging.dynamicbible.com"