SVN создать тег от муравья в Дженкинс - PullRequest
0 голосов
/ 21 марта 2019

Моя сборка Jenkins использует Subversion для Управление исходным кодом .В соответствующих полях в графическом интерфейсе я настроил URL репозитория https://host:port/svn/project/trunk и добавил учетные данные.

Затем сборка состоит из нескольких шагов, каждый из которых является вызовом цели ant для build.xml, поставляемого с проверкой SVN.

Сама проверка работает нормально, я могу проверитьэто, увидев ожидаемые файлы в рабочей области.Таким образом, учетные данные работают, и Дженкинс может подключиться к серверу SVN.

ТО это происходит, когда на одном из этапов сборки требуется удалить и создать тег SVN (в который будут скопированы файлы вследующий шаг - тег используется системой упаковки позже):

16:54:17 04.svn-tagging:
16:54:17      [echo] svn delete tag https://host:port/svn/project/tags/tagname    
16:54:17      [exec] svn: E175013: Unable to connect to a repository at URL 'https://host:port/svn/project/tags/tagname'
16:54:17      [exec] svn: E175013: Access to 'https://host:port/svn/project/tags/tagname' forbidden
16:54:18      [exec] Result: 1
16:54:18      [echo] svn create tag https://host:port/svn/project/tags/tagname
16:54:18      [exec] svn: E175013: Unable to connect to a repository at URL 'https://host:port/svn/project/tags'
16:54:18      [exec] svn: E175013: Access to 'https://host:port/svn/project/tags' forbidden
16:54:19 

Поскольку сервер уже мог подключиться к https://host:port/svn/project/trunk,, почему он не сможет подключиться к https://host:port/svn/project/tags? В дополнительных учетных данных (под Subversion ) я пытался добавить учетные данные для https://host:port/svn/project/tags и https://host:port/svn/project, но это неизменить что-либо.

Возможно, литеральные команды svn выполняются с тем пользователем, от которого работает Jenkins?Как я могу сказать Jenkins использовать определенные учетные данные для этой задачи (и как я могу настроить эти учетные данные в Jenkins)?

1 Ответ

0 голосов
/ 25 марта 2019

Учетные данные, используемые для проверки, не распространяются на последовательные этапы сборки.Они запускаются как пользователь по умолчанию для вашей установки Jenkins.В этом случае у этого пользователя нет доступа к этому хранилищу.

Некоторые параметры кажутся доступными, если у вас нет глобального доступа к серверу сборки Jenkins.Нашим решением было (в конфигурации задания):

  1. Перейти к Среда сборки (это заголовок)
  2. Установите флажок Маскировать паролии regexes (и включить глобальные пароли)
  3. Добавить пару имя / пароль, например, Name = svnpass & Password = ...
  4. Затем вы можете использовать пароль в ant-script$ {svnpass}
  5. Добавить имя пользователя / пароль к вызовам муравья, например, svn delete ... --username ... --password $ {svnpass}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...