0

我做了一些研究,发现 Azure DevOps 确实有任何开箱即用的实现来支持 Azure PostgreSQL 的 CI CD。

有谁知道,我们如何为 Azure PostgreSQL 数据库的 PaaS 产品配置 Azure DevOps

请帮忙。

4

2 回答 2

0

截至今天,没有开箱即用的 Azure DevOps 模板可用于为 PaaS 版本的 Azure Postgres 部署。

于 2020-11-21T16:55:30.677 回答
0

我不确定我是否正确理解了 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的链接指向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-ServiceandStart-Service命令;PowerShell 脚本的其余部分是可选的。

echoand命令只是验证表中的ls信息。该Set-Service命令启用该服务,该Start-Service命令启动该服务,该Get-CimInstance命令验证它是否正在运行。

在生产环境中,您可以阅读 之后的返回码Start-Service,而不是使用Get-CimInstance命令,以验证服务是否正在运行。

于 2021-06-09T13:38:18.893 回答