【问题标题】:Different gradle output in Github Actions VM and localGithub Actions VM 和本地的不同 gradle 输出
【发布时间】:2020-09-14 21:25:50
【问题描述】:

我正在尝试设置一个简单的 Github Action,以便使用 gradle 构建 Java 应用程序。这是我的行动:

name: Build with gradle and deploy to GKE cluster

on:
  push:
    branches: [master]

env:
  ...

jobs:
  build:
    name: Build app
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2
      - name: Set up JDK 11.0.7 for x64
        uses: actions/setup-java@v1
        with:
          java-version: '11.0.7'
          architecture: x64
      - run: chmod +x ./uCampusLibs/domainObjects/gradlew
      - run: ./uCampusLibs/domainObjects/gradlew build

当我执行此操作时,在 gradle 命令的输出中,我可以看到只执行了一个任务,并且没有创建任何构建工件(甚至没有创建 build 目录)。但是,该步骤被标记为成功。 但是,如果我在本地系统(也是 Ubuntu,相同的 OpenJDK 版本)中运行相同的命令,则会执行 4 个任务,并按预期在 build 目录下创建构建快照。

你对可能发生的事情有任何线索吗?

【问题讨论】:

  • 运行gradle的目的是为了看到同样的输出还是为了得到正确的结果?我看不出这个问题对其他人有何用处。此外,除非您没有使用相同的设置或相同的命令,否则我认为 gh-actions 中的输出与您习惯的本地输出没有任何不同
  • @smac89 当然,运行 gradle 的目的是获得正确的结果,我没有得到正确的结果,因为 Github Action 没有生成任何构建工件。我只是指出输出是不同的,以便提供更多(希望是有用的)信息
  • 好的,我想我开始明白你的问题了。您是否包含保存构建工件的操作?见actions/upload-artifact
  • 除非您向 GitHub 推送不同的内容,否则包装器版本将保证您执行的任何内容都是相同的——适用于所有受支持的平台。由于org.gradle.console = verbose(您可能在笔记本电脑/台式机中设置,但在 Githuh Actions 中没有设置),Gradle 的输出可能会有所不同。

标签: gradle github-actions


【解决方案1】:

问题的原因是在 Github Action 中我尝试直接从项目的根目录执行 gradlew 脚本,而在本地我从工件目录执行脚本。因此,解决方案将步骤更改为:

  - run: ./gradlew build
    working-directory: ./uCampusLibs/domainObjects/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-22
    • 2022-10-25
    • 2021-11-05
    • 1970-01-01
    • 2020-04-09
    • 2021-10-17
    • 2022-06-21
    • 2022-08-17
    相关资源
    最近更新 更多