问题标签 [gradle-release-plugin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
155 浏览

gradle-release-plugin - 将 tagTemplate 作为命令行参数传递 - Gradle Release Plugin

我必须根据环境和标签/推送到关系来创建构建。目前,我的发布设置中有 tagTemplate = 'release-${version}' 。tagTemplate(发布)的第一部分是我们在管道中用来启动构建的,每个构建需要稍微不同的参数。

我需要能够传入一个参数,该参数将用其他构建类型替换“发布”。

理想情况下,我希望能够传入模板的“发布”部分中的内容,因此设置如下所示:

然后我就可以运行命令了:

我试过这样传递它:

这些都不起作用。

0 投票
1 回答
428 浏览

spring-boot - 可以将 gradle-release-plugin 配置为使用 SemVer 吗?

我有一个 Spring-Boot Gradle 4.10.3 项目,目前运行良好。它使用 gradle-release 插件进行发布和版本管理。

但是,我现在有一个新要求,即为该项目生成的工件遵守 SemVer 约定。我知道有 SemVer Gradle 插件,但如果没有必要,我不想重新调整我的整个发布过程。如果 gradle-release 能让我指定文件名模式,那就太好了。

配置文档提到了一个名为 versionPatterns的参数,看起来它可能会有所帮助。但我不知道如何修改给出的示例:

versionPatterns = [ /(\d+)([^\d]*$)/: { Matcher m, Project p -> m.replaceAll("${(m 0 as int) + 1}${m[0][ 2]}") } ]

所以,我需要的是要更改的文件名:

AppName-1.2.3-SNAPSHOT.jar

到:

AppName.1.2.3-SNAPSHOT.jar

所以实际上,这似乎只是用点替换第一个破折号的问题。

这可以通过 gradle-release 配置完成吗?如果没有,有没有更简单的方法?我想继续使用 gradle-release 插件,因为它已经连接到我的所有进程中。

0 投票
1 回答
396 浏览

gradle - 根据分支自动增加次要版本或补丁版本

我在 Bamboo 中使用 gradle-release-plugin,带有选项 useAutomaticVersion=true,添加一个 git 标签,然后自动增加版本号。gradle-release-plugin 的默认行为是增加补丁版本(2.0.3 -> 2.0.4)。我正在尝试实现以下用例:

  1. 如果当前分支是主分支,则增加次要版本(2.0.3 -> 2.1.0)
  2. 如果当前分支是除 master 之外的任何其他分支,则增加补丁版本 (2.0.3 -> 2.0.4)

我想知道 gradle-release-plugin 是否可以提供这样的功能?

0 投票
2 回答
878 浏览

git - Gradle-release-plugin 更新被拒绝,因为您当前分支的尖端落后

在我的工作场所,我们使用由多个开发人员共享的月度发布分支。

Gradle 版本是 2.14.1

我们使用Jenkins手动触发代码构建和发布(任务)(有效运行——gradle clean compileJava release)

整个过程大约需要 30-40 分钟,基本上是编译、生成工件、运行 Junit 测试并将工件上传到 Artifactory。

最终到了标记和推送版本号的步骤: preTagCommit,它尝试更新 gradle.properties 并将版本号提升到它并提交和推送。

此时,如果最近 30-40 分钟(由于手动触发构建)分支上没有提交,则发布成功。

在整个过程之间甚至有一个提交的那一刻它失败并出现错误:任务':preTagCommit'的执行失败。

我尝试了几种技巧并搜索了文档,但还没有找到任何合适的解决方案。

这是我的发布步骤的样子:

抱歉,如果以前有人问过这个问题,我发现的所有解决方案都是 git 的一般方法,而不是来自使用 Gradle-Release-Plugin 和 git 的人。

任何回应将不胜感激。

0 投票
1 回答
870 浏览

git - Jenkins 的 Gradle 发布插件不推送发布版本

gradle-release在使用 Jenkins 进行 CI 时尝试使用插件。使用以下命令进行发布时会创建两个提交:

一个带有 say 的预标记提交version=0.0.4和另一个带有version=0.0.5-SNAPSHOT. 问题是 Jenkins 只获取最新的提交,因为它们一个接一个地发生。因此,发布版本从未部署到 Nexus。

请注意仅在顶部提交上的勾号:在此处输入图像描述

0 投票
0 回答
716 浏览

gitlab-ci - gitlab ci 中的 Maven/gradle release-plugin 身份验证

https://github.com/researchgate/gradle-release在 Gitlab 上的 ci 中使用以下配置:

它抱怨用户无权写入回购。

我检查了 CI Job Token 只有读取权限。有没有办法在这里登录作为脚本的一部分,理想情况下使用令牌而不是硬编码凭据?谢谢。

编辑一: 我尝试使用具有以下配置的 SSH 密钥/部署密钥。但它没有用:

编辑二: 我在这里添加了正确的配置。诀窍是在将 SSH 密钥添加到正确的位置和 SSH 代理后检查 repo:

在此之后,您可以像这样运行您的脚本:

0 投票
0 回答
47 浏览

kotlin - 与 kotlin DSL 兼容的 Gradle 发布插件

我正在尝试为我的 kotlin spring 项目找到一个 gradle 发布插件,但是我在那里找到的所有插件都很旧并且有一段时间没有维护,所以它们不能真正使用Kotlin DSL.

我使用了axion一个,它以某种方式工作,但它在 CI 集成方面存在问题,并且该问题尚未解决,因此我正在寻找替代方案。

提前致谢