gradle - 如何将Gradle产生的工件名称设置为Jenkins管道传递的值

标签 gradle jenkins-pipeline build.gradle

我正在尝试设置一个Jenkins管道来使用gradle在多个环境下触发构建。我的要求是,当我运行gradlew clean build时产生的 Artifact 应该产生名称指示运行该管道的环境的 Artifact 。示例my-application-dev.jar
触发构建时,用户将选择环境的值。
实现此目的的最佳方法是什么?构建是否允许通过命令行配置任何此类属性,还是我需要在build.gradle中定义一个任务并在该任务中定义属性,我将通过命令行从中传递值

最佳答案

基本上有两种方法。
第一个是将这些与命名相关的信息传递给gradlew流程,例如通过-D或-P属性。
然后,您需要Gradle构建来了解这些参数,并相应地设计其生成的 Artifact 名称。
第二个可以说是更好的,而且包含更多。您只需在gradlew命令完成后将其重命名为Jenkinsfile,即可对其进行重命名。如果管道决定如何处理这些 Artifact (例如发布到存储库),而不是使用gradle脚本(在这种情况下,您最好使用第一种方法)会更好。

关于gradle - 如何将Gradle产生的工件名称设置为Jenkins管道传递的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64556128/

相关文章:

gradle - 我该如何解决这个问题

android - 错误:任务 ':app:packageAllDebugClassesForMultiDex'的执行失败。 > java.util.zip.ZipException:重复输入问题

android - Twitter4j - 导入问题 - AndroidStudio

jenkins - 获取异常 'java.lang.IllegalStateException: There is no body to invoke'

android - Unity Android Build错误:无法读取PNG签名:文件不是以PNG签名开头

jenkins - 在 Jenkins 中正确配置多分支管道

jenkins 管道捕获失败的并行构建的 build_job 信息

java - 在命令Pompt(Gradle Build)中执行Jar文件时出错:NoClassDefFoundError:org/apache/poi/xssf/usermodel/XSSFWorkbook

android - 用于本地测试的 Spoon JAR

android - java.lang.NoClassDefFoundError : Failed resolution of: Landroid/support/v4/util/ArrayMap; 错误