gpt4 book ai didi

maven-release-plugin 版本 :branch - Avoid commit to original branch

转载 作者:行者123 更新时间:2023-12-04 04:12:37 25 4
gpt4 key购买 nike

我刚刚遇到了障碍,真的需要了解 maven-release-plugin 的人提供一些见解。我正在尝试使用插件来操作我的 pom 文件,但没有接触/提交到主分支,而是到一个单独的分支,这样我以后可以从那里进行 PR 并获得分支所需的审查+批准我的 repo 协议(protocol)中的保护政策。

上下文

  1. 我们使用 github,公司主要出于安全原因在我们的主要分支机构实现新的分支机构保护政策。
  2. 我一直在使用 jenkins 管道来发布和交付我的代码,而代码又使用 maven-release-plugin 来标记 repo,并在 pom.xml 中切换版本等。
  3. 在使用github的分支保护时,release plugin不能做通常的操作,因为它不能直接push到主分支。

我的研究

我发现这个插件支持creating a branch in the process释放,这正是我正在寻找的。因此,我构建了试验环境:

  • GitHub 存储库
  • Maven 项目

并开始运行一些测试。最接近成功的是这一行(版本号不重要):

mvn --batch-mode release:branch '-DbranchName=release-v1.2.1' -DupdateBranchVersions=true -DupdateWorkingCopyVersions=false

我开始将 pom 中的版本设置为我要发布的版本的值(这不是很好,但我愿意自己做出 promise )。我检查了 release:prepare docs但没有找到任何可以帮助我实现目标的东西。

我的问题

有没有办法告诉插件不要对原始分支进行任何提交,这样它就不会被分支保护拒绝?我总是至少像这样提交到主分支:

* 934af86 2020-04-27 | [maven-release-plugin] prepare branch release-v1.2.1 (HEAD -> master) [Commiter Name]

最佳答案

我知道现在回答这个问题已经晚了,但我遇到了同样的问题,也许其他人也会搜索这个问题。

我的配置:

  • Jenkins
  • SCM 经理(Sonia)
  • 仅限 PR 的 Git 主存储库

我最终做的是 checkout 到新分支并从那里进行发布。在我的 SCM-Manager 中,除了 jenkis 之外,我删除了其他用户对该分支的所有特权,以保护它不被直接写入。

因此在 jenkins 项目配置中,我将“Branches to build”设置为“*/Master”。然后我在“其他行为”中添加了“检查到特定的本地分支机构”。在分支名称中,我输入了“master_release”。第一次发布时应该显示你的分支。

由于这是第一个版本,如果我在下一次迭代中遇到任何问题,我会更新这个答案,但从我的角度来看,它应该可以工作。

关于maven-release-plugin 版本 :branch - Avoid commit to original branch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61470005/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com