如何部署在 VSTS 中备份的新版本的 Azure PostgreSQL 数据库?
How can I deploy a new version of an Azure PostgreSQL Database backed up in VSTS?
问题
我的 CI/CD 工作流现在在 VSTS 和 Azure 中设置得很好。缺少的部分也在拉取请求或签入 master 后更新我的数据库。
到目前为止我做了什么
我在源代码管理中有我的数据库备份脚本。现在我拥有一个极度奢侈的小型、简单的数据库。到目前为止,我一直采取的权宜之计是在签到掌握之前:
- 正在取消与 PGAdmin 中的数据库的连接
- 使用 postgres 实用程序在 powershell 中删除现有数据库
dropdb
- 使用
createdb
在 powershell 中创建一个新的空白数据库
- 使用 psql 命令加载 DB(因为某些被遗忘的原因
pg_restore
绝对拒绝使用我创建的任何存档文件)
问题
首先,我如何通过 VSTS 中的任何 powershell 脚本措施在我的放置位置引用我的备份工件?当我们到达流程的 "Release" 部分时,我的应用程序已存档到 .zip 文件中。我玩过很多不同的任务,但似乎无法找到如何做到这一点。
其次,由于我的发布由托管的 Azure 代理处理 - 即使我确实弄清楚如何引用我的数据库转储,我也无法想象这些代理可以访问像 pg_restore
这样的 postgres 实用程序或 psql
。我这里唯一的解决方案是启动我自己的 VM 作为我的发布代理并在执行 powershell 之前安装实用程序吗?或者我是否缺少 VSTS 或 Azure 中可用的某些任务组合?
感谢您的帮助!
首先,您可以通过Extract files任务来解压zip文件,System.DefaultWorkingDirectory
变量的值是一个部署过程中工件下载到的目录发布。
其次,Hosted agent不包含PostgreSQL,你不能在上面安装,所以你需要设置一个private agent。 (在此代理计算机上手动设置 PostgreSQL 的要求)
问题
我的 CI/CD 工作流现在在 VSTS 和 Azure 中设置得很好。缺少的部分也在拉取请求或签入 master 后更新我的数据库。
到目前为止我做了什么
我在源代码管理中有我的数据库备份脚本。现在我拥有一个极度奢侈的小型、简单的数据库。到目前为止,我一直采取的权宜之计是在签到掌握之前:
- 正在取消与 PGAdmin 中的数据库的连接
- 使用 postgres 实用程序在 powershell 中删除现有数据库
dropdb
- 使用
createdb
在 powershell 中创建一个新的空白数据库
- 使用 psql 命令加载 DB(因为某些被遗忘的原因
pg_restore
绝对拒绝使用我创建的任何存档文件)
问题
首先,我如何通过 VSTS 中的任何 powershell 脚本措施在我的放置位置引用我的备份工件?当我们到达流程的 "Release" 部分时,我的应用程序已存档到 .zip 文件中。我玩过很多不同的任务,但似乎无法找到如何做到这一点。
其次,由于我的发布由托管的 Azure 代理处理 - 即使我确实弄清楚如何引用我的数据库转储,我也无法想象这些代理可以访问像 pg_restore
这样的 postgres 实用程序或 psql
。我这里唯一的解决方案是启动我自己的 VM 作为我的发布代理并在执行 powershell 之前安装实用程序吗?或者我是否缺少 VSTS 或 Azure 中可用的某些任务组合?
感谢您的帮助!
首先,您可以通过Extract files任务来解压zip文件,System.DefaultWorkingDirectory
变量的值是一个部署过程中工件下载到的目录发布。
其次,Hosted agent不包含PostgreSQL,你不能在上面安装,所以你需要设置一个private agent。 (在此代理计算机上手动设置 PostgreSQL 的要求)