google-cloud-platform - 将 Google Cloud Build 连接到 Google Cloud SQL

标签 google-cloud-platform google-cloud-sql google-cloud-run google-cloud-build cloud-sql-proxy

Google Cloud Run 允许使用 Cloud SQL。但是,如果您在 Google Cloud Build 中构建容器时需要 Cloud SQL,该怎么办?那可能吗?
背景
我有一个 Next.js 项目,它在 Google Cloud Run 上的容器中运行。将我的代码推送到 Cloud Build(安装内容、生成静态页面并将所有内容放入容器中)并部署到 Cloud Run 非常有效。 👌
云SQL
但是,我只是添加了一些功能,其中它还需要来自我在 Google Cloud SQL 上运行的 PostgreSQL 实例的一些数据。在构建项目(生成静态页面)时使用此数据。
在本地,在我的机器上,这工作正常,因为该项目可以连接到我的 CloudSQL 代理。在 CloudRun 中运行时,这也应该有效,因为 Cloud Run 允许 connecting to my Postgres instance on Cloud SQL
我的问题
使用 Cloud Build 构建我的项目时,我需要访问我的数据库才能生成我的静态页面。我正在寻找一种将我的 Docker 云构建器连接到 Cloud SQL 的方法,也许就像 Cloud Run(完全托管)提供了一种使用 Cloud SQL 代理进行连接的机制。
这样我就可以在构建我的项目时连接到 /cloudsql/INSTANCE_CONNECTION_NAME!
问题
所以我的问题是:在 Google Cloud Build 上构建我的项目时,如何通过 Cloud SQL 代理连接到我在 Google Cloud SQL 上的 PostgreSQL 实例?
我的数据库凭据等内容已经存在于 Secrets Manager 中,所以我想我应该可以使用这些详细信息 🤔

最佳答案

您可以使用您想要(并且您需要)的容器来生成您的静态页面,并下载云 sql 代理以打开与数据库的隧道

  - name: '<YOUR CONTAINER>'
    entrypoint: 'sh'
    args:
      - -c
      - |
        wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy
        chmod +x cloud_sql_proxy
        ./cloud_sql_proxy -instances=<my-project-id:us-central1:myPostgresInstance>=tcp:5432 &
        <YOUR SCRIPT>        

关于google-cloud-platform - 将 Google Cloud Build 连接到 Google Cloud SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65325867/

相关文章:

google-cloud-platform - 如何为多区域架构负载平衡 Google Cloud Run

google-cloud-platform - Dataproc 集群无法初始化

google-cloud-platform - 如何导入 gRPC empty 和 Google api annotations proto

sql - 如何将 BigQuery 嵌套记录取消嵌套到多列中

php - 如何从外部 PHPMyAdmin 安装连接到 Google 云 SQL 实例?

mysql - 基于云的 LAMP 集群

Javascript 和 Gmail 相当于 Applescript 和 Apple Mail

google-cloud-platform - 在 secret 更新时更新 Cloud Run 实例

google-cloud-platform - 如何估算 Google Cloud Run 成本?

google-apps-script - 无法更改 Apps 脚本的 Cloud 项目