标签: jgitflow-maven-plugin

Git flow:如何在Jenkins中配置一键式发布流程?

我们正在使用标准的git flow分支模型(develop,master ,release-,hotfix-等).

作为我们工作流程的一部分,我们希望通过jenkins设置"一键式"发布.

我在看jgitflow-maven-plugin.我可以设置这个插件来进行jenkins的一键式发布吗?如果是这样,配置选项有哪些?

特别是,我可以这样做吗?

Jenkins Job
Maven goals:    release-start release-finish -Dsomething -Delse
Run Code Online (Sandbox Code Playgroud)

有没有办法告诉它从最新的-SNAPSHOT版本自动构建,例如,如果版本是1.2.3-SNAPSHOT它将构建release-1.2.3.

否则,是否有maven插件根据git flow分支模型构建版本(即从中develop创建并创建一个名为的新版本分支release-x.y.z).

java git git-flow jenkins jgitflow-maven-plugin

12
推荐指数
2
解决办法
1万
查看次数

jgitflow:release-finish没有删除发布分支

我最近完成了一个发布分支合并到master并开发使用jgitflow:release-finish.构建成功.

在此输入图像描述

但现在我正在尝试使用创建一个新的分支jgitflow:releast-start.但它给出了以下错误.

[ERROR] Failed to execute goal external.atlassian.jgitflow:jgitflow-maven-plugin:1.0-m5.1:release-start (default-cli) on project <XXXXXXX>: Error starting release: Error starting release: a release branch [refs/remotes/origin/release/1.0.1] already exists. Finish that first! -> [Help 1]
Run Code Online (Sandbox Code Playgroud)

我跑的时候问了下面的问题,我把jgitflow:release-start它输入为1.0.2.

What is the release version for "XXXXXXX"? (org.XXX.automation:XXXXXXX) [1.0.2]: 1.0.2
Run Code Online (Sandbox Code Playgroud)

但它仍然给出了以下错误.我很困惑.

问题:

  • 我们应该手动删除release-1.0.1分支吗?
  • 如果是的话,我将失去历史.有没有办法保留它?

maven-3 maven maven-release-plugin jgit jgitflow-maven-plugin

6
推荐指数
1
解决办法
4654
查看次数

如何使用Maven JGit Flow处理子模块?

我是新手使用的jgitflow-maven-plugin.我的项目有许多不同的模块,彼此依赖.在我的develop分支上,所有子模块都有1.0.0-SNAPSHOT版本.

release-start由于快照依赖性,执行目标失败.我发现我可以使用该allowSnapshots=true选项来解决这个问题,但我不确定这是否是处理它的正确方法.

使用jgitflow和子模块的正确方法是什么?

maven jgitflow-maven-plugin

5
推荐指数
1
解决办法
1399
查看次数

开始发布时出错:工作树中有未跟踪的文件

我正在使用Maven JGit-Flow插件来自动化一些发布过程。不幸的是,当我尝试使用mvn jgitflow:release-start以下命令启动新版本时遇到了这个问题:

[ERROR] Failed to execute goal external.atlassian.jgitflow:jgitflow-maven-plugin:1.0-m5.1:release-start (default-cli) on project <myProjectName>: Error starting release: Error starting release: Working tree has untracked files 
Run Code Online (Sandbox Code Playgroud)

但是我在这里(在主服务器上)也看不到和未跟踪的文件:

git status
On branch develop
Your branch is up-to-date with 'origin/develop'.
nothing to commit, working directory clean
Run Code Online (Sandbox Code Playgroud)

知道Maven JGit-Flow插件如何查找未跟踪的文件吗?

maven jgitflow-maven-plugin

5
推荐指数
2
解决办法
5088
查看次数

Jgitflow 插件不创建 git 标签

我有以下 jgitflow 插件并使用 Jenkins 执行自动发布。使用命令mvn --batch-mode jgitflow:release-start jgitflow:release-finish。然而,一切正常,我从未在 github 中看到任何标签。根据文档,除非使用 notags,否则我的所有版本都应该创建标签。知道出了什么问题吗?

<plugin>
    <groupId>external.atlassian.jgitflow</groupId>
    <artifactId>jgitflow-maven-plugin</artifactId>
    <version>1.0-m4.3</version>
    <configuration>
        <flowInitContext>
            <masterBranchName>release</masterBranchName>
            <developBranchName>master</developBranchName>
            <releaseBranchPrefix>release-</releaseBranchPrefix>
            <versionTagPrefix>release-</versionTagPrefix>
        </flowInitContext>
        <noReleaseMerge>true</noReleaseMerge>
    </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)

分别使用 release-start 和 finish 也没有帮助。见下文:

mvn --batch-mode  jgitflow:release-start -Dmaven.javadoc.skip=true -DskipTests
git push --tags
Everything up-to-date
Run Code Online (Sandbox Code Playgroud)

maven jenkins jgitflow-maven-plugin

5
推荐指数
1
解决办法
1894
查看次数

mvn jgitflow:release-finish 正在合并发布 --&gt; 主 --&gt; 开发

当我使用

mvn jgitflow:release-finish
Run Code Online (Sandbox Code Playgroud)

我注意到 release 分支合并到 master 分支。

问题:这是正确的方法吗?

抱歉,我的问题可能很幼稚,因为我是新手。我在想来自 release 分支的代码将合并到 develop 和 master 而不是 release --> master --> develop。

问题:如果我不希望这种情况发生,而是我应该能够从 master 进行 rebase 开发,该怎么办?

maven-3 maven jgit jgitflow-maven-plugin

2
推荐指数
1
解决办法
4065
查看次数