首先,感谢您花时间阅读本文,无论互动如何。
我有一个开发架构,我正在尝试在我正在做的一个项目中“生产”它,但很难了解 CICD 如何与无法通过互联网访问的数据库一起工作。
开发环境(背景故事)
首先,我的开发设置是 Azure 应用服务和 Azure DB for PostgreSQL,两者都可以通过互联网访问。我将 NodeJS 与 Prisma 结合使用,并设置了一个 Github 操作来构建代码并将其部署到 Azure 应用服务,该服务还运行 Prisma Migrate 来进行必要的数据库架构更改,如下所示:
- name: Prisma Migrate Deploy
run: npx prisma migrate deploy
env:
DATABASE_URL: ${{ secrets.DATABASE_CONNECTION_STRING }}
显然,它在 GH 服务器上运行,因此它直接连接到数据库。
生产(我面临的问题)
所以,简而言之 - 我想部署我的代码并确保我们在 CICD 脚本中执行数据库迁移。但是,由于数据库无法通过互联网访问,并且位于 Vnet 内的 SN 中,只有 Azure 应用服务可以访问,我发现很难设置。 其他项目/组织如何以安全的方式跨越这个障碍?有谁对如何实现这一目标有任何想法吗?
最后,我尝试了:
您有两个选择。
最简单的可能是选项 2。但简单是一个主观术语。
阅读以下文章,其中描述了如何促进与专用端点的 AS 通信:
关于企业中 GitHub 托管运行器的 Azure 专用网络
并且,该文章的底部是有关如何配置 Azure 和 GitHub 的说明的链接: