Ответ 1
ОБНОВЛЕНИЕ: TL; DR. Перейдите по ссылке, приведенной ниже в комментарии Филипа Стаховяка, это самый простой способ сделать это. Если это не работает, продолжайте читать.
Копирование $ HUDSON_HOME/credentials.xml не является решением, потому что Jenkins шифрует пароли, и они не могут быть расшифрованы другим экземпляром, если оба не имеют общего ключа.
Итак, либо вы используете одинаковые ключи подписи в обоих экземплярах Jenkins (Где ключ шифрования хранится в Jenkins?), Либо вы можете сделать следующее:
- Создайте того же пользователя/пароль, которым вы хотите поделиться, во втором экземпляре Jenkins, чтобы сгенерировать действительный пароль
-
Что действительно важно, так это то, что идентификаторы пользователя в обоих credentials.xml совпадают. Для этого (см. Пример credentials.xml ниже) для пользователя: Jenkins идентификатор
<id>c4855f57-5107-4b69-97fd-298e56a9977d</id>
должен быть одинаковым в обоих credentials.xml.<com.cloudbees.plugins.credentials.SystemCredentialsProvider plugin="[email protected]"> <domainCredentialsMap class="hudson.util.CopyOnWriteMap$Hash"> <entry> <com.cloudbees.plugins.credentials.domains.Domain> <specifications/> </com.cloudbees.plugins.credentials.domains.Domain> <java.util.concurrent.CopyOnWriteArrayList> <com.cloudbees.plugins.credentials.impl.UsernamePasswordCredentialsImpl> <scope>GLOBAL</scope> <id>c4855f57-5107-4b69-97fd-298e56a9977d</id> <description>Para SVN</description> <username>jenkins</username> <password>J1ztA2vSXHbm60k5PjLl5jg70ZooSFKF+kRAo08UVts= </password> </com.cloudbees.plugins.credentials.impl.UsernamePasswordCredentialsImpl> </java.util.concurrent.CopyOnWriteArrayList> </entry> </domainCredentialsMap> </com.cloudbees.plugins.credentials.SystemCredentialsProvider>