jenkins - 如何将 Gradle 构建 currentVersion 写入文件

标签 jenkins gradle version

我正在尝试执行以下步骤:

我为我的项目配置了一个 build.gradle 文件。我想为我的项目执行 currentVersion 任务以获取构建生成的当前版本,然后将其保存到文本文件中。我愿意 我使用 jenkins 运行此构建,并使用该文本文件获取版本号,以从 Nexus 存储库下载正确的工件。

我认为以下任一方法都可以帮助我实现这一目标:

  1. 有没有办法通过 Jenkins 只运行我的项目的 currentVersion 任务并将结果存储在文本文件中?
  2. 有没有办法通过我的构建脚本运行 currentVersion 任务并将输出写入文本文件?

最佳答案

如果您想利用任务输入/输出缓存,您可以在 build.gradle 中执行以下操作:

tasks.create('currentVersion') {
  outputs.file('versionFile.txt')
  inputs.property('version', project.version)

  doLast {
    project.file('versionFile.txt') << project.version
  }
}

然后,您可以运行 ./gradlew currentVersion 之类的任务,输出将转到您要写入的文件。下次运行任务时,仅当输入或输出发生更改时才会更新该文件。

关于jenkins - 如何将 Gradle 构建 currentVersion 写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41368957/

相关文章:

mysql - 脚本化 Jenkinsfile 中的多个 Docker

java - Windows 上的 Gradle flatdir 获取 : Could not find property 'url'

groovy - 停止 Gradle 构建的推荐方法

linux - 如何隔离一行文本的一部分以便将其用作变量

objective-c - 我怎么知道我使用的是哪个版本的 ObjC 语言?

jenkins - Artifactory 插件中的 "peer not authenticated "错误 - Jenkins

java - 如何在 Jenkins 中执行 Selenium 2 测试

c++ - C++中的复数示例不起作用

linux - Jenkins : "javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 465;"

java - 为什么我的 sonarqube 在进行单元测试时覆盖率为 0%?