maven-release-plugin release: branch - избегать фиксации в оригинальной ветке - PullRequest
0 голосов
/ 28 апреля 2020

Я только что наткнулся на контрольно-пропускной пункт, и мне действительно понадобится понимание от кого-то, кто знает плагин maven-release-plug. Я пытаюсь использовать плагин для работы с моим pom-файлом, но не касаясь его / не связывая его с основной веткой, а с отдельной веткой, чтобы потом я мог оттуда получить PR и получить обзор + одобрение, требуемое для ветки. политика защиты в моих репозиториях.

Context

  1. Мы используем github, и компания применяет новую политику защиты филиалов в наших основных филиалах в основном из соображений безопасности.
  2. Я использовал конвейер jenkins для выпуска и доставки своего кода, который, в свою очередь, использует плагин maven-release-plugin для маркировки репо и переключения версии в pom. xml, et c.
  3. При использовании защиты веток в github плагин релиза не может выполнять обычные операции, потому что он не может вывести sh прямо в основную ветвь.

Мое исследование

Я обнаружил если плагин поддерживает создание ветки в процессе выпуска, это будет именно то, что я ищу. Итак, я создал среду для этого:

  • GitHub репозиторий
  • Maven проект

и начал выполнять некоторые тесты. Ближе всего к успеху была эта строка (номер версии не важен):

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

Я начал с версии в pom, в которой было установлено значение версии, которую я выпускаю (это не очень хорошо, но я готов сделать это сам). Я проверил релиз: подготовьте документы , но не нашел ничего, что помогло бы мне достичь моей цели.

Мой вопрос

Есть ли способ сообщить плагину, чтобы не сделать какие-либо коммиты в исходную ветку, чтобы она не отклонялась защитой ветки? Я всегда получаю по крайней мере коммит в основной ветке, такой как этот:

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