通过 Bitbucket Pipelines 上的代理正确访问 Google Cloud SQL

ozh*_*hou 5 django google-app-engine google-cloud-sql google-cloud-platform bitbucket-pipelines

将 Cloud SQL 数据库代理到 Bitbucket Pipelines 的正确方法是什么?

我有一个 Google Cloud SQL Postgres 实例(还尝试了 MySQL DB)。

打开所有连接端口允许 bitbucket 管道正确部署我的基于 Django 的 Google App Engine 项目,基于此示例管道 - https://github.com/GoogleCloudPlatform/continuous-deployment-bitbucket/blob/master/bitbucket-pipelines.yml

但是,当我尝试限制对 Cloud SQL 实例的访问并改用 cloud_sql_proxy 时,我可以在本地正确部署,但 Bitbucket 总是找不到 SQL Server

我的 bitbucket-pipelines.yml 看起来像这样:

        - export CLOUDSDK_CORE_DISABLE_PROMPTS=1
        # Google Cloud SDK is pinned for build reliability. Bump if the SDK complains about deprecation.
        - SDK_VERSION=127.0.0
        - SDK_FILENAME=google-cloud-sdk-${SDK_VERSION}-linux-x86_64.tar.gz
        - curl -O -J https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/${SDK_FILENAME}
        - tar -zxvf ${SDK_FILENAME} --directory ${HOME}
        - export PATH=${PATH}:${HOME}/google-cloud-sdk/bin
        # Install Google App Engine SDK
        - GAE_PYTHONPATH=${HOME}/google_appengine
        - export PYTHONPATH=${PYTHONPATH}:${GAE_PYTHONPATH}
        - python scripts/fetch_gae_sdk.py $(dirname "${GAE_PYTHONPATH}")
        - echo "${PYTHONPATH}" && ls ${GAE_PYTHONPATH}
        # Install app & dev dependencies, test, deploy, test deployment
        - echo "key = '${GOOGLE_API_KEY}'" > api_key.py
        - echo ${GOOGLE_CLIENT_SECRET} > client-secret.json
        - gcloud auth activate-service-account --key-file client-secret.json
        - wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy
        - chmod +x cloud_sql_proxy
        - ./cloud_sql_proxy -instances=google-cloud-project-name:us-west1:google-cloud-sql-database-name=tcp:5432 &
        - gcloud app deploy --no-promote --project google-cloud-project-name --quiet 
Run Code Online (Sandbox Code Playgroud)

此时,我希望能够访问 SQL 数据库,但它似乎不可用,并且我的部署无法找到本地代理数据库