【发布时间】:2020-09-28 05:56:42
【问题描述】:
我做了一些研究,发现 Azure DevOps 确实有任何开箱即用的实现来支持 Azure PostgreSQL 的 CI CD。
有人知道吗,我们如何为 Azure PostgreSQL 数据库的 PaaS 产品配置 Azure DevOps
请帮忙。
【问题讨论】:
标签: postgresql-11 postgresql-12 azure-postgresql
我做了一些研究,发现 Azure DevOps 确实有任何开箱即用的实现来支持 Azure PostgreSQL 的 CI CD。
有人知道吗,我们如何为 Azure PostgreSQL 数据库的 PaaS 产品配置 Azure DevOps
请帮忙。
【问题讨论】:
标签: postgresql-11 postgresql-12 azure-postgresql
截至今天,没有开箱即用的 Azure DevOps 模板可用于 Azure Postgres 的 PaaS 版本。
【讨论】:
我不确定我是否正确理解了 OP 的问题,距离 OP 发布问题已有 9 个月。但这似乎是正确的答案。
Azure Devops 上至少有一个 Microsoft 托管的代理内置了 PostgreSQL,只是默认情况下未启用。启用和使用它很简单。
“Microsoft 托管的代理”页面https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/hosted?view=azure-devops&tabs=yaml 有一个表格,列出了可用的代理。您可以单击最右侧栏中的链接以查看包含软件的列表。代理 vs2017-win2016 的链接指向 a list of all the software pre-installed on the Microsoft Windows Server 2016 Datacenter。向下滚动页面,或搜索“postgres”,会显示 PostgreSQL 的相关信息。
此示例 Azure Pipelines 作业可用于启动 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命令,以验证服务是否正在运行。
【讨论】: