circleciでcloud-sdkを使用してapp engineにデプロイする


下記のようにgoogle/cloud-sdkイメージを使用して「initialize gcloud」内のような形でgcloudの設定を行う。
quietオプションがないとインタラクティブになるので注意。

version: 2
jobs:
  deploy_production:
    docker:
      - image: google/cloud-sdk
    steps:
      - checkout

      - run:
          name: initialize gcloud
          command: |
            echo $GCLOUD_SERVICE_KEY | gcloud auth activate-service-account --key-file=-
            gcloud --quiet config set project ${GOOGLE_PROJECT_ID}
            gcloud --quiet config set compute/zone ${GOOGLE_COMPUTE_ZONE}

      - run:
          name: deploy production
          command: |
            curl -sL https://deb.nodesource.com/setup_10.x | bash -
            apt-get install -y nodejs
            npm i
            npm run build
            gcloud app deploy --quiet --project=hogehoge prod-app.yaml