релиз maven: ветка - где выполнять? - PullRequest
2 голосов
/ 04 ноября 2011

Сегодня я попытался переключить нашу сборку релиза, чтобы она использовала ветви. До моего изменения я просто сделал

mvn release:prepare -B -Dusername=$SVN_USER -Dpassword=$SVN_PASSWORD -Dtag=$RELEASE_VERSION -DreleaseVersion=$RELEASE_VERSION -DdevelopmentVersion=$NEXT_DEV_VERSION
mvn release:perform

Теперь я перешел на использование

mvn release:branch -B -Dusername=$SVN_USER -Dpassword=$SVN_PASSWORD -DbranchName=$RELEASE_VERSION -DreleaseVersion=$RELEASE_VERSION -DdevelopmentVersion=$NEXT_DEV_VERSION -DautoVersionSubmodules=true -DbranchBase=$SVN_BRANCH_BASE -DdryRun=false -DsuppressCommitBeforeBranch=false -DremoteTagging=false -DupdateBranchVersions=true -DupdateVersionsToSnapshot=false -DupdateWorkingCopyVersions=true -DgenerateBackupPoms=false

затем я проверил эту ветку и попытался выполнить релиз. Но это не работает, это говорит мне: Невозможно настроить хранилище SCM: такого поставщика нет: 's'

Конфигурация SCM:

<scm>
<connection>scm:svn:https://svn2.mycompany.com:8443/svn/polyalert/branches/02_Los_1/releases/0.01.9</connection>
<developerConnection>scm:svn:https://svn2.cmycompany.com:8443/svn/polyalert/branches/02_Los_1/releases/0.01.9</developerConnection>
<url>https://svn2.mycompany.com:8443/svn/polyalert/branches/02_Los_1/releases/0.01.9</url>
</scm>

Этот URL может выглядеть немного странно, но у нас нет макета по умолчанию, и это правильный URL-адрес ветви.

Это делается с maven 3. Я не уверен, правильно ли делать релиз: выступать в другом месте, чем я делал релиз: ветку, но у меня нет лучшей идеи, особенно потому что не может установить какой-либо файл release.properties, как он создан с release: prepare. Или нужно будет сделать релиз: ветку И релиз: подготовить? Первая попытка не сработала и вызвала ту же ошибку.

Есть предложения?

Спасибо Michael

1 Ответ

2 голосов
/ 07 ноября 2011

После долгих попыток я обнаружил, что работает следующий подход:

  • Убедитесь, что в вашем багажнике определенно правильная информация о scm в помпе.
  • пробег mvn release:branch -B -Dusername=$SVN_USER -Dpassword=$SVN_PASSWORD -DbranchName=$RELEASE_VERSION -DreleaseVersion=$RELEASE_VERSION -DdevelopmentVersion=$NEXT_DEV_VERSION -DautoVersionSubmodules=true -DbranchBase=$SVN_BRANCH_BASE -DupdateWorkingCopyVersions=true. Это создаст ветку в SVN, в которой все версии будут храниться так, как будто они находятся в транке, а затем увеличит номер версии в транке до $ NEXT_DEV_VERSION и подтвердит это. Branchbase также может быть установлен в конфигурации плагина (в этом случае его здесь можно опустить).

  • извлеките новый созданный филиал и перейдите в каталог локального филиала

  • запустите mvn release:prepare -B -Dusername=$SVN_USER -Dpassword=$SVN_PASSWORD -Dtag=$RELEASE_VERSION -DreleaseVersion=$RELEASE_VERSION, чтобы обновить номер выпуска в вашей ветке до $ RELEASE_VERSION (будет изменен локально + зафиксировать в ветке этой единственной командой). Эта команда сверху создаст тег выпуска.
  • запустите mvn release:perform в директории вашей локальной ветки, чтобы начать фактическую сборку Это извлечет тег, созданный на предыдущем шаге, и будет основываться на этом коде.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...