根据Git分支选择Maven配置文件的配置选项

5

是否可以根据当前的git分支选择配置文件?

例如,如果您在主分支上,则选择“生产”配置文件。如果是开发分支,则选择“开发”配置文件。

我找到了mavanagaiata插件,它提供了mvngit.branch属性,但无法在<profiles>部分中使用。

这种情况可能吗?还是有更好的方法?我想要一种简单的方法来根据正在构建的分支自动选择正确的配置文件。

2个回答

8
  1. 使用与git分支相同的配置文件ID。
  2. 使用对应的配置文件运行maven:

    mvn clean deploy -P $(git rev-parse --abbrev-ref HEAD)


1
我喜欢这个非侵入式的解决方案,比被接受的答案更好。 - t7tran

2

将配置文件的激活通过一个文件来实现。然后只在相应的分支中创建文件,这样当您切换分支时,文件将出现或消失,它将影响配置文件的激活。

然而,我认为基于git分支选择maven配置文件是个不好的想法。


1
我认为这是唯一的解决方案。然而,我遵循了你的提示,不会根据 git 分支选择配置文件。 - rve
不是很有用 -- 当你合并回主分支时,该文件要么会悄无声息地进入主分支,要么会产生合并冲突。 - Agoston Horvath
你可以在git-hook中创建文件,将分支名称作为文件名的一部分,将文件添加到gitignore中,例如.env.currentBranch.exampleBranch,将".env*"添加到.gitignore中,并在创建新文件之前删除所有".env.currentBranch*"文件。然后使用<file><exists>.env.currentBranch.exampleBranch激活配置文件。 - Gerald Mücke

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接