Я успешно установил TeamCity ib CentOS 6.2 Minimal. Я застрял при попытке запустить сценарий автоматически при запуске системы:
/opt/TeamCity/bin/teamcity-server.sh start
Я искал в Google и пробовал различные методы, которые, похоже, терпят неудачу. Большинство методов указывает на добавление сценария запуска в один из файлов rc.local:
/etc/rc.d/rc.local
/etc/rc.local
А в содержимом rc.local есть строка:
/opt/TeamCity/bin/teamcity-server.sh start
Ни один из них не запустит сервер teamcity
Если запустить скрипт вручную, проблем не возникнет.
Кажется простым, но как заставить сценарий оболочки запускаться автоматически?
Если сценарий запуска teamcity LSB-совместимый сценарий инициализации (то есть, если он обеспечивает Начало, стоп и другие аргументы), вы можете просто скопировать скрипт в /etc/init.d
папку и запустить (как root):
# chkconfig --add <script_name>
# chkconfig <script_name> on
Символьная ссылка на файл тоже должна быть в порядке. Итак, попробуйте (как root):
# ln -s /opt/TeamCity/bin/teamcity-server.sh /etc/init.d/teamcity-server
# chkconfig --add teamcity-server
# chkconfig teamcity-server on
Если он не запускается при инициализации, а запускается вручную без проблем, вам следует проверить:
Чтобы распечатать содержимое вашего PATH, просто запустите:
echo $PATH
Чтобы проверить, является ли причина того, что скрипт не запускается, является ПУТЬ, попробуйте:
$ cd /
$ PATH= /opt/TeamCity/bin/teamcity-server.sh
Эта команда временно очистит ваш PATH и запустит команду. Если команде нужна какая-то конкретная информация о PATH, она завершится ошибкой (будьте осторожны, выполняйте точно так, как указано выше, ТАМ ЕСТЬ пространство между ПУТЬ = и остальные команды).
в команде Fedora 17
# chkconfig --add teamcity-server
скажем: service teamcity-server не поддерживает chkconfig, вы должны добавить заголовок, например:
#! /bin/bash
# chkconfig: - 10 90
только после этого запустить первую команду.
Когда скрипт запускается вручную, он работает правильно. Но при автоматическом запуске это не работает.
Я нашел виновника: TeamCity работает под пользователем teamcity
. Он должен присутствовать в /etc/sudoers
файл, и вы должны добавить, используя visudo
строка вроде этого:
Defaults:teamcity !requiretty