有没有办法让 cloudbuild 步骤访问 GCP 中的 Cloud SQL

Posted

技术标签:

【中文标题】有没有办法让 cloudbuild 步骤访问 GCP 中的 Cloud SQL【英文标题】:Is there a way to allow cloudbuild steps to access the Cloud SQL in GCP 【发布时间】:2019-08-26 13:26:15 【问题描述】:

我正在设置云构建触发器以部署 php/Symfony 应用程序。当 docker 文件运行 php app/console assetic:dump 命令以创建资产时,我收到以下错误。

SQLSTATE[HY000] [2002] Connection timed out 
[PDOException] 

SQLSTATE[HY000] [2002] Connection timed out
[Doctrine\DBAL\Driver\PDOException] 


An exception occurred in driver: SQLSTATE[HY000] [2002] 
Connection timed out 
[Doctrine\DBAL\Exception\ConnectionException] 

我已经决定尝试让 docker 容器连接到数据库,而不是尝试修复 symfony 应用程序,因为我对框架或 php 了解不够。

是否可以进行设置,以便我可以在 CLOUDSQL 端允许某种 IP 来允许这些连接?

【问题讨论】:

我在另一个 SO 帖子中看到,您可以使用额外的构建步骤来运行云 sql 代理并以这种方式连接:***.com/a/52366671 但我也希望有一个更简单的解决方案...... chmod_007 提供的解决方案对您有用吗? @alextru 我还没有尝试过。 【参考方案1】:

此处的答案描述了在同一步骤中设置代理的解决方案:

Run node.js database migrations on Google Cloud SQL during Google Cloud Build

【讨论】:

以上是关于有没有办法让 cloudbuild 步骤访问 GCP 中的 Cloud SQL的主要内容,如果未能解决你的问题,请参考以下文章

Cloudbuild - 使用来自不同步骤的自定义变量构建 docker 映像

如果 CloudBuild 失败,则在 Cloud Build 中使用 2 个 Dockerfile 来重用中间步骤映像

cloudbuild.yaml 中构建步骤中的 gcloud beta 命令。我应该使用入口点还是参数?

在 Cloud Build 步骤中执行 BigQuery 查询

GCF:Pubsub 调用旧版本

全志V853芯片适配双目GC2053的操作步骤