【发布时间】: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