问题所在
我的CI/CD工作流目前在VSTS和Azure中设置得很好。在向master提交请求或签入后,缺失的部分也在更新我的数据库。
到目前为止我所做的
我在源代码管理中有我的DB备份脚本。现在,我有一个非常豪华的小型、简单的数据库。到目前为止,我一直在采取的权宜之计是在登记到master之前:
-
正在取消与PGAdmin中DB的连接
-
使用postgres实用程序删除powershell中的现有DB
dropdb
-
在powershell中创建新的空白DB,使用
createdb
-
用psql命令加载数据库(因为某些被遗忘的原因
pg_restore
绝对拒绝使用我创建的任何存档文件)
这些问题
首先,我如何通过VSTS中的任何powershell脚本度量引用放置位置中的备份工件?当我们到达流程的“发布”部分时,我的应用程序已经归档到。zip文件。我已经处理了很多不同的任务,但似乎不知道如何完成。
其次,由于我的发布是由托管的Azure代理处理的,即使我知道如何引用我的数据库转储,我也无法想象这些代理可以访问postgres实用程序,如
pg\U还原
或
psql
. 在这里,我唯一的解决方案是启动自己的VM作为发布代理,并在执行powershell之前安装实用程序吗?或者,在VSTS或Azure中是否有一些我缺失的任务组合?
谢谢你的帮助!