问题
我的CI / CD工作流程现已在VSTS和Azure中很好地设置。在拉取请求或签到要掌握之后,丢失的部分也会更新我的数据库。
到目前为止我做了什么
我的数据库备份脚本在源代码管理中。现在,我有一个小而简单的数据库的极端奢侈。我到目前为止所采取的权宜之计已经在签到主持人之前采取了措施:
dropdb
createdb
pg_restore
绝对拒绝使用我创建的任何存档文件)问题
首先,如何通过VSTS中的任何PowerShell脚本措施在我的放置位置引用我的备份工件?当我们到达"发布"流程的一部分,我的应用程序已存档为.zip文件。我已经玩了很多不同的任务,似乎无法找到如何做到这一点。
其次,由于我的版本由托管的Azure代理处理 - 即使我弄清楚如何引用我的数据库转储,我也无法想象这些代理可以访问postgres实用程序,如pg_restore
或psql
。我的唯一解决方案是将我自己的VM作为我的发布代理并在执行powershell之前安装实用程序吗?或者我在VSTS或Azure中是否有一些我可以找到的任务组合?
感谢您的帮助!
答案 0 :(得分:1)
首先,您可以通过提取文件任务提取zip文件,{{1}}变量的值是在部署版本期间下载工件的目录。
其次,托管代理不包含PostgreSQL,您无法在其上安装,因此您需要设置私有代理。 (手动设置此代理计算机上PostgreSQL的要求)