【发布时间】:2016-07-21 19:35:02
【问题描述】:
所以我弄清楚了 gradle 等是如何工作的。 我听说过 travis CI 并让它发挥作用。 现在我想要实现的最后一件事是让 gradle 创建源文件夹的 jar 文件并根据它们的内部版本号给出文件名,这样以前的文件都不会被覆盖。 我听说过 GitHub 部署的可能性,但我不确定这是否是我需要的。 这甚至可能吗?
【问题讨论】:
标签: java github gradle build.gradle travis-ci
所以我弄清楚了 gradle 等是如何工作的。 我听说过 travis CI 并让它发挥作用。 现在我想要实现的最后一件事是让 gradle 创建源文件夹的 jar 文件并根据它们的内部版本号给出文件名,这样以前的文件都不会被覆盖。 我听说过 GitHub 部署的可能性,但我不确定这是否是我需要的。 这甚至可能吗?
【问题讨论】:
标签: java github gradle build.gradle travis-ci
当然可以。
根据the docs,您的.travis.yml 中需要一个部分用于
deploy。具体来说,当您在存储库中创建标签时,您需要将其打开,并且您需要告诉 Travis 不要丢弃任何东西
过早地。引用 deploy world sn-p:
deploy:
provider: releases
api_key: "GITHUB OAUTH TOKEN"
file: "FILE TO UPLOAD"
skip_cleanup: true
on:
tags: true
然后您的第二个问题关于如何将版本号放入二进制名称中:您需要将file_glob: true 包含到.travis.yml(有关详细信息,请参阅this question)。
我不太熟悉 Grunt 复制或重命名文件的功能,但您始终可以使用包含以下内容的 shell 脚本:
orig=origfile.jar
tag=$(git tag --points-at=$(git rev-parse HEAD))
cp "$orig" "${orig%.jar}_${tag}.jar"
【讨论】: