我做了一些研究,发现Azure DevOps确实有任何outofthebox实现来支持Azure PostgreSQL的CI CD。
有没有人知道,如何配置Azure DevOps来提供Azure PostgreSQL数据库的PaaS服务
请帮帮忙。
发布于 2020-11-21 16:55:30
到目前为止,没有现成的Azure DevOps模板可用于PaaS版本的。
发布于 2021-06-09 13:38:18
我不确定我是否正确地理解了OP的问题,自从OP发布这个问题以来已经有9个月了。但这似乎是正确的答案。
在Azure上至少有一个微软托管的代理内置了PostgreSQL,只是默认情况下没有启用。启用和使用它很简单。
“Microsoft托管代理”页面https://learn.microsoft.com/en-us/azure/devops/pipelines/agents/hosted?view=azure-devops&tabs=yaml有一个表,列出了可用的代理。您可以单击最右边列中的链接来查看包含的软件列表。代理vs2017-win2016的链接指向2016数据中心预装的所有软件的列表。向下滚动页面,或搜索"postgres",将显示PostgreSQL的相关信息。
本例可以使用Azure管道作业启动PostgreSQL。
- job: foo-postgresql-bar
pool:
vmImage: 'vs2017-win2016'
steps:
- powershell: |
echo 'PGBIN is ' $env:PGBIN
echo 'PGDATA is ' $env:PGDATA
echo 'PGROOT is ' $env:PGROOT
echo 'Contents of PGBIN'
ls $env:PGBIN
Set-Service postgresql-x64-13 -StartupType manual
Start-Service postgresql-x64-13
Get-CimInstance win32_service | Where-Object Name -eq "postgresql-x64-13"
displayName: 'Setup PostgreSQL' 只需要Set-Service和Start-Service命令;PowerShell脚本的其余部分是可选的。
echo和ls命令只需验证表中的信息。Set-Service命令启用服务,Start-Service命令启动服务,Get-CimInstance命令验证它是否正在运行。
在生产环境中,您可以在Start-Service之后读取返回代码,而不是使用Get-CimInstance命令来验证服务是否正在运行。
https://stackoverflow.com/questions/64096660
复制相似问题