TeamCity забыл пароль администратора - где искать? - PullRequest
64 голосов
/ 03 февраля 2009

Мне нужно восстановить / сбросить пароль администратора для JetBrain TeamCity .

У меня полный RDP-доступ к серверу, поэтому никаких проблем нет. Прошло всего 2 месяца с тех пор, как мы его использовали, поэтому теперь я забыл свой логин - мои обычные не работают.

В данный момент он настроен без базы данных, поэтому надеялся, что имена пользователей просто будут где-то в файле, но пока не получилось найти его.

Ответы [ 19 ]

77 голосов
/ 11 сентября 2013

С TeamCity 8 вы можете войти в систему как суперпользователь и изменить пароль таким образом. Вам просто нужно использовать пустое имя пользователя и последнее появление «токена аутентификации суперпользователя», найденного в файле logs \ teamcity-server.log, в качестве пароля.

Для получения дополнительной информации см. Следующее:

42 голосов
/ 14 августа 2009

Если ни одна из этих работ не работает, см. http://sebastienlachance.com/post/Resetting-TeamCity-Password.aspx.

Откройте командную строку и перейдите в папку \ webapps \ ROOT \ WEB-INF \ lib. Теперь введите следующее:

..\..\..\..\jre\bin\java.exe -cp server.jar;common-api.jar;commons-codec-1.3.jar;util.jar;hsqldb.jar ChangePassword username newpassword
5 голосов
/ 10 ноября 2011

Для TeamCity 6.5.4

Из командной строки в [папка установки TeamCity] \ webapps \ ROOT \ WEB-INF \ lib:

..\..\..\..\jre\bin\java -cp server.jar;common-api.jar;commons-codec-1.3.jar;util.jar;hsqldb.jar ChangePassword admin NewPassword

В моем случае моим именем пользователя было 'admin' (думаю, я установил его во время установки, но не уверен).

Я пропустил путь к аргументу TeamCity, он достаточно умен, чтобы использовать правильный путь (мой был c: \ users \ administrator.BuildServer)

Когда я указал (неверный) путь к TeamCity в качестве аргумента, я получил это сообщение:

Using TeamCity configuration directory path: c:/TeamCity/.BuildServer
Exception in thread "main" java.sql.SQLException: Table not found in statement [UPDATE users SET PASSWORD = ? WHERE USERNAME = ? AND REALM IS NULL]
    at org.hsqldb.jdbc.Util.throwError(Util.java:58)
    at org.hsqldb.jdbc.jdbcPreparedStatement.<init>(jdbcPreparedStatement.java:1833)
    at org.hsqldb.jdbc.jdbcConnection.prepareStatement(jdbcConnection.java:580)
    at ChangePassword.main(ChangePassword.java:14)

На случай, если это смущает и других людей.

4 голосов
/ 03 февраля 2009

Вы можете попытаться сбросить установку TeamCity, удалив каталог данных TeamCity (каталог $/.BuildServer по умолчанию)

3 голосов
/ 04 ноября 2009

Мне только что пришлось пройти через эту боль с v5 EAP.

Мне удалось успешно сбросить пароль, запустив:

C:\TeamCity\webapps\ROOT\WEB-INF\lib>..\..\..\..\jre\bin\java -cp server.jar;common-api.jar;commons-codec-1.3.jar;util.jar;hsqldb.jar ChangePassword admin password c:\TeamCity\.BuildServer

Хотя вам необходимо заменить C: \ TeamCity на место, где находится ваша установка.

3 голосов
/ 18 февраля 2009

Попробуйте следующее:

Сначала остановите службу TeamCity (также остановит агент сборки, если он установлен). Затем откройте консоль, перейдите в каталог java и выполните оттуда следующую команду:

java.exe -cp server.jar; hsqldb.jar ChangePassword USERNAME PASSWORD "PATH_TO_YOUR_TEAMCITY_INSTALLATION".BuildServer
2 голосов
/ 25 сентября 2013

Специально для TeamCity, работающего на Tomcat в Windows, это будет C: \ ProgramData \ JetBrains \ TeamCity

Каталог, указанный в качестве последнего параметра, должен быть вашим каталогом данных (найти в /logs/teamcity-server.log)

Вы получите сообщение об ошибке «Таблица не найдена», если вы не укажете это правильно.

Вы получите сообщение об ошибке «База данных уже используется», если у вас запущен TeamCity.

Вы также можете выполнить поиск в /logs/teamcity-server.log, чтобы узнать, создали ли вы имя администратора, администратора или другое имя пользователя администратора.

2 голосов
/ 22 июня 2016

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

https://confluence.jetbrains.com/display/TCD9/Super+User

2 голосов
/ 21 декабря 2010

В случае, если это поможет кому-то другому, кто бы ни установил TeamCity на моем сервере, поместил каталог сборки в профиль администратора, а не в C: \ TeamCity.

1 голос
/ 17 апреля 2013

Вот что у меня сработало.

Завершение работы сервера

> cd c:\TeamCity\webapps\ROOT\WEB-INF\lib>

тогда

> ..\..\..\..\jre\bin\java.exe -cp server.jar ;common-api.jar;commons-codec-1.3.jar;util.jar;hsqldb.jar ChangePassword admin password1 C:\ProgramData\JetBrains\TeamCity\

Без пути в конце он потерпит неудачу с:

Exception in thread "main" java.sql.SQLException: Table not found in statement [
UPDATE users SET PASSWORD = ? WHERE USERNAME = ? AND REALM IS NULL]
        at org.hsqldb.jdbc.Util.throwError(Util.java:58)
        at org.hsqldb.jdbc.jdbcPreparedStatement.<init>(jdbcPreparedStatement.ja
va:1833)
        at org.hsqldb.jdbc.jdbcConnection.prepareStatement(jdbcConnection.java:5
80)
        at ChangePassword.main(ChangePassword.java:14)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...