代码之家  ›  专栏  ›  技术社区  ›  edbras

如何在azure管道中使用的windows最新代理上使用postgres db?

  •  0
  • edbras  · 技术社区  · 5 年前

    我有一个java maven项目,我正在构建一个azure管道,作为主机“windows最新版本”,因为它包含正确的java 13版本。但是,对于集成测试,我需要一个postgres db,“windows最新”代理包含一个postgres db,请参阅: link .但我怎么能用这个?我试图通过在Maven task as service中包含它的serviceName来使用它:

    services:
       postgres: postgresql-x64-13
    

    但是我得到了一个错误,它找不到这个名字的服务。 我尝试通过env设置定义db属性(请参见下面的yml),然后它显示了错误:

    Caused by: java.net.ConnectException: Connection refused
    

    我还尝试通过docker compose运行脚本任务。yml是我在开发过程中使用的项目的根目录,但是docker compose抛出了一个错误,说它找不到compose文件,我也怀疑这是正确的方法。

    那么我可以在windows代理上使用postgres db吗?如何做到这一点?

    My azure管道代码段:

        variables:
        MAVEN_CACHE_FOLDER: $(Pipeline.Workspace)/.m2/repository
        MAVEN_OPTS: "-Dmaven.repo.local=$(MAVEN_CACHE_FOLDER)"
        application_name: clearsky
        service_name: backend
        mygetUsername: myserUsername
        mygetPassword: mytoken
        SPRING_DATASOURCE_URL: jdbc:postgresql://localhost:5432/postgres
        SPRING_DATASOURCE_USER: postgres
        SPRING_DATASOURCE_PASSWORD: root
    
    stages:
        - stage: create_artifact
          displayName: Create artifact
          jobs:
              - job: build
                displayName: Build, test and publish artifact
                steps:
                    - task: Maven@3
                      name: maven_package
                      displayName: Maven package
                      inputs:
                          goals: "package"
                          mavenPomFile: "backend/pom.xml"
                          options: '--settings backend/.mvn/settings.xml -DmygetUsername=$(mygetUsername) -DmygetPassword=$(mygetPassword)'
                          mavenOptions: "-Xmx3072m $(MAVEN_OPTS)"
                          javaHomeOption: "JDKVersion"
                          jdkVersionOption: "1.13"
                          mavenAuthenticateFeed: true
    
    0 回复  |  直到 5 年前
        1
  •  2
  •   Kevin Lu-MSFT    5 年前

    在Azure Devops Windows agen中,默认情况下禁用/停止postgresql。

    这是 configuration doc

    Property    Value
    ServiceName postgresql-x64-13
    Version 13.2
    ServiceStatus   Stopped
    ServiceStartType    Disabled
    

    您可以尝试以下命令来启动postgresql。

    "C:\Program Files\PostgreSQL\13\bin\pg_ctl.exe" start -D "C:\Program Files\PostgreSQL\13\data" -w

    推荐文章