cloudbuild.yaml (83 lines of code) (raw):

timeout: 1200s options: machineType: "N1_HIGHCPU_8" steps: # Client - id: "install_client_dependencies" name: node:14 entrypoint: "npm" args: ["install"] dir: "./client" - id: "download_partner_logo" name: gcr.io/cloud-builders/gsutil waitFor: ["-"] entrypoint: "bash" args: - "-c" - | if [ "${_PARTNER_LOGO_URL}" != "" ] then gsutil cp ${_PARTNER_LOGO_URL} ./src/assets/img/partner_logo.png else true fi dir: "./client" - id: "configure_client" waitFor: ["install_client_dependencies", "download_partner_logo"] name: node:14 entrypoint: "node" args: [ "./configure_client.js", "../client/src/environments/environment.prod.params.ts", "${_API_URL}", "${_APP_URL}", "${_GOOGLE_TRACKER_ID}", "${_LANGUAGE}", "${_ENDANGERED_LANGUAGE}", "${_TERMS_AND_CONDITIONS}", "/assets/img/partner_logo.png", "../client/src/style/theme-config.scss", "${_THEME}", ] dir: "./deploy" - id: "build_client" waitFor: ["configure_client"] name: node:14 timeout: 1200s entrypoint: "npm" args: ["run", "build", "--", "--output-path=./dist", "-c production"] dir: "./client" # Server - id: "configure_server" waitFor: ["download_partner_logo"] name: node:14 entrypoint: "node" args: - "./configure_server.js" - ${_APP_SERVICE} - "../server/app.yaml" - ${_APP_CACHE} - ${_INDEX_CACHE} - "../server/dispatch.yaml" - ${_PROD_URL} - ${_STAGING_URL} dir: "./deploy" - id: "deploy_server" waitFor: - "build_client" - "configure_server" name: gcr.io/cloud-builders/gcloud args: - app - deploy - ../client/dist - --appyaml=./app.yaml dir: "server" - id: "set_dispatch" waitFor: - "deploy_server" name: gcr.io/cloud-builders/gcloud args: - app - deploy - dispatch.yaml dir: "server"