适用于Azure PostgreSQL的Azure DevOps

问题描述

我进行了一些研究,发现Azure DevOps确实具有任何现成的实现来支持Azure Postgresql的CI CD。

任何人,有什么想法,我们如何为Azure Postgresql数据库的PaaS产品配置Azure DevOps

请帮助。

解决方法

截止到今天,还没有现成的Azure DevOps模板可用于PaaS版本的Azure Postgres部署。

,

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

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

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...