【问题标题】:Azure DevOps for Azure PostgreSQLAzure PostgreSQL 的 Azure DevOps
【发布时间】:2020-09-28 05:56:42
【问题描述】:

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

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

请帮忙。

【问题讨论】:

    标签: postgresql-11 postgresql-12 azure-postgresql


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      我不确定我是否正确理解了 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命令,以验证服务是否正在运行。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-11-23
        • 2021-08-01
        • 2019-07-26
        • 2021-01-31
        • 2021-11-15
        • 1970-01-01
        • 2022-09-23
        • 2019-12-20
        相关资源
        最近更新 更多