适用于 Azure PostgreSQL 的 Azure DevOps

Azure DevOps for Azure PostgreSQL

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

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

请帮忙。

截至今天,没有现成的 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, has a table listing the available agents. You can click on the link in the rightmost column to see a list of included software. The link for the agent vs2017-win2016 points to 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-ServiceStart-Service命令; PowerShell 脚本的其余部分是可选的。

echols 命令只是验证来自 table 的信息。 Set-Service命令启用服务,Start-Service命令启动服务,Get-CimInstance命令验证是运行.

在生产环境中,您可以阅读Start-Service后的return代码,而不是使用Get-CimInstance命令,以验证服务是运行.