【问题标题】:Bitbucket pipelines could not find GradleBitbucket 管道找不到 Gradle
【发布时间】:2020-07-22 23:15:42
【问题描述】:

我使用 Java 11 和 Gradle 6.2 创建了一个项目。我配置了 Bitbucket 管道并推送了更改,但 Bitbucket 找不到 Gradle 来运行它的命令。 我使用了这个管道配置 yml:

image: openjdk:11

pipelines:
  default: #this runs for any unspecified branches
    - step:
        name: Install dependencies
        caches:
          - gradle
        script:
          - echo 'Put any bash command here'
          - java -version
    - step:
        name: Run tests
        script:
          - bash ./gradlew test
    - step:
        name: Build artifacts
        script:
          - bash ./gradlew clean build
        artifacts:
          - build/**

  pull-requests:
    '**': #this runs as default for any branch not elsewhere defined
      - step:
          name: Install dependencies
          caches:
            - gradle
          script:
            - echo 'Put any bash command here'
            - java -version
      - step:
          name: Run tests
          script:
            - bash ./gradlew test
      - step:
          name: Build artifacts
          script:
            - bash ./gradlew clean build
          artifacts:
            - build/**

  branches:
    master: #this runs only 'master' branch
      - step:
          name: Install dependencies
          caches:
            - gradle
          script:
            - echo 'Put any bash command here'
            - java -version
      - step:
          name: Run tests
          script:
            - bash ./gradlew test
      - step:
          name: Build artifacts
          script:
            - bash ./gradlew clean build
          artifacts:
            - build/**

      - step:
          name: Deploy artifacts to the server
          deployment: production
          script:
            - pipe: atlassian/scp-deploy:0.3.3
              variables:
                USER: $SERVER_USER
                SERVER: $SERVER_IP
                VERSION: $BUILD_VERSION
                REMOTE_PATH: '/var/autotrack'
                LOCAL_PATH: 'build/libs/autotrack-$VERSION.jar' 


但我收到以下错误:

bash ./gradlew test
bash: ./gradlew: No such file or directory

我该如何解决这个问题?

【问题讨论】:

    标签: java gradle bitbucket gradlew bitbucket-pipelines


    【解决方案1】:

    openjdk:11 图像不包含 Gradle。这就是为什么我们需要在一个地方使用另一个包含 Java 和 Gradle 的图像。例如,可以使用这个gradle:6.3.0-jdk11 图像。

    image: gradle:6.3.0-jdk11
    
    pipelines:
      default:
        - step:
            name: Test and Build
            script:
              - gradle clean build
    

    【讨论】:

      【解决方案2】:

      请问您可以使用这个修改后的步骤运行构建吗?

      - step:
          name: Run tests
          script:
            - bash ls -lart
            - bash ./gradlew test
      

      我希望这能澄清问题。

      【讨论】:

      • 不幸的是,它没有帮助。我认为 Bitbucket 默认没有 Gradle。
      • 我发现了问题,问题在于图像。应该有 2 个图像,Gradle 和 Java。我用新的image: gradle:6.3.0-jdk11 替换了图像,这很有效。但我面临的另一个问题。测试容器的问题。在 Bitbucket 中,如何使用 Tescontainers
      • 我创建了一个新问题stackoverflow.com/questions/61138898/…
      猜你喜欢
      • 1970-01-01
      • 2023-03-29
      • 1970-01-01
      • 1970-01-01
      • 2022-11-02
      • 2019-08-14
      • 1970-01-01
      • 2018-05-26
      • 1970-01-01
      相关资源
      最近更新 更多