在执行 mvn 释放:分支
命令时,我想尝试使用版本参数配置 -DbranchName
参数。但我还没有找到一种方法来成功地做到这一点。
例如,如果我的主干中有一个版本为 1.0-SNAPSHOT 的项目,我想使用 --batch-mode
选项创建一个分支,并在 branchName 中指定一个具有当前项目版本 (1.0-SNAPSHOT) 的 -DbranchName
作为参数。
我已经尝试执行< code > mvn release:branch-DbranchName = VERSION-@ { project . VERSION } ,但它似乎不能像我希望的那样工作。我没有创建名为VERSION-1.0的分支,而是得到了以下错误:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.5.3:branch (default-cli) on project project-a: Unable to branch SCM
[ERROR] Provider message:
[ERROR] The svn branch command failed.
[ERROR] Command output:
[ERROR] svn: E205000: Try 'svn help copy' for more information
[ERROR] svn: E205000: Syntax error parsing peg revision '{project.version}'
有有效的方法吗?或者,当使用maven发布插件执行<code>发布:branch
基本上,我正在寻找的是类似于tagNameFormat
属性的东西,但用于分支。当做一个发布:执行
目标,我可以有
您可以使用内置的${project.version}
(前缀为$
而不是@
-后者似乎仅在tagNameFormat
参数中可用)。请注意,如果您使用${project.version}
,该值可能会包含子字符串SNAPSHOT
。可能有几种方法可以删除该子字符串。一种方法是应用本问题答案中提到的帮助插件,它可以让您访问版本的语义组件:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<id>parse-version</id>
<goals>
<goal>parse-version</goal>
</goals>
</execution>
</executions>
</plugin>
然后,您可以在命令行上使用这些属性:
mvn release:branch -DbranchName=VERSION-${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}
或者更好地将<code>branchName
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.5.3</version>
<executions>
<execution>
<configuration>
<branchName>VERSION-${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}</branchName>
</configuration>
<goals>
<goal>branch</goal>
</goals>
</execution>
</executions>
</plugin>
在这种情况下,您不需要在命令行上传递这些神奇的属性。
问题内容: 您如何访问“工作流程” Jenkins作业的“此构建已参数化”部分中的设置? 测试用例 创建一个工作流作业。 启用“此构建已参数化”。 添加具有默认值的STRING PARAMETER 。 将以下代码添加到: 运行工作。 结果 问题答案: 我认为使用Workflow插件时,变量可以直接使用,而不是通过env。尝试:
问题内容: 我正在尝试使用Maven释放一个库并执行站点部署来sourceforge(我首先创建了一个交互式shell)。该发布由Jenkins作业完成(使用Jenkins的Maven发布插件)。 我试过了: 和 但两次工作都挂在site:第一个模块的部署: 当我停止工作时,将在最后打印以下内容: 这可能意味着$ {username}尚未解析。 如何解析$ {username}? 编辑: 请注意以
问题内容: Jenkins允许您对构建进行参数化,但是我不知道如何实际使用它: 假设我通常会像下面这样从命令行启动我的Ant构建: 这将调用build.xml的package目标,并为其提供名为的属性packageType,其值为jar。 我假设在上面的屏幕截图中,“ 名称”字段是我要 指定的位置packageType,但是值呢? 如果Jenkins希望我为该属性指定默认值,那么在哪里可以指定项目
在我在互联网上看到的大约一半的svg示例中,代码都是简单的
问题内容: 我试图在我的Jenkins Build中获得对我的Xcode项目CFBundleVersionString或CFBundleVersion的引用。 我的目标是能够以$ {CFBundleVersionString}。$ {build_number}这样的方式设置内部版本号。这样,版本由项目决定,并且在构建项目时会在内部添加内部版本号。 这有可能吗?我知道您可以引用$ {build_nu
我有一个scala play应用程序;我正试图为我们的服务暴露健康检查。健康检查的一部分,我想捕捉项目工件版本。 惰性val root=(文件中的项目(“.”)).EnablePlugins(PlayScala)