Я задал этот вопрос в Atlassian но предполагаемый сбой сервера может быть более подходящим, поскольку это скорее вопрос системного администратора, чем вопрос Atlassian:
Я пытался следовать это руководство чтобы FishEye + Crucible запускалась при загрузке. JIRA уже установлена и работает как собственный пользователь (jira) в Ubuntu при загрузке, но я не могу заставить Fisheye + Crucible (aka fecru) сделать то же самое.
Я выполнил инструкции (и примечание, относящееся к Ubuntu в комментариях к странице) и перезагрузился, JIRA запустилась самостоятельно, как обычно, а fecru - нет. Это как-то связано с переменной RUN_AS, для которой я установил jira? Будет ли эта команда запускаться при загрузке без запроса пароля для пользователя jira? Я подумал, что это не будет подсказывать, потому что программа JIRA запускается при загрузке нормально от этого пользователя ...
С помощью:
Ubuntu 10.04 Lucid
Jira 5.0
Crucible + Fisheye 2.7.11
Поскольку этот вопрос возник снова и ответы теперь устарели после перехода на systemd в основных дистрибутивах, я добавлю свое определение службы systemd для JIRA:
/etc/systemd/system/jira.service
[Unit]
Description=Atlassian JIRA
After=syslog.target network.target
[Service]
Type=forking
EnvironmentFile=/etc/sysconfig/jira
ExecStart=/path/to/jira/bin/startup.sh
ExecStop=/path/to/jira/bin/shutdown.sh
PIDFile=/path/to/jira/work/catalina.pid
SuccessExitStatus=143
User=jira
Group=jira
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
/ и т.д. / sysconfig / jira
# Name of the user to run as
USER=jira
# Location of application's bin directory
CATALINA_HOME=/path/to/jira
# Location of Java JDK
export JAVA_HOME=/usr/lib/jvm/java-8-oracle
Заменить /path/to/jira
с каталогом вашего приложения.
Для других инструментов Atlassian это в основном то же самое, только сценарии запуска и расположение файла PID немного отличаются:
Слияние
$appdir/bin/startup.sh
$appdir/bin/shutdown.sh
$appdir/work/catalina.pid
FishEye
$appdir/bin/start.sh
$appdir/bin/stop.sh
Бамбук
$appdir/bin/start-bamboo.sh
$appdir/bin/stop-bamboo.sh
Толпа
$appdir/bin/startup.sh
$appdir/bin/shutdown.sh
$appdir/apache-tomcat/work/catalina.pid
FishEye еще не поддерживает файл PID, поэтому в настоящее время необходимо использовать обходной путь от этой проблемы и добавить эту строку в fisheyectl.sh
после nohop
команда:
echo $! > $FISHEYE_INST/var/fisheye.pid
Для Bamboo файл PID должен быть явно определен через CATALINA_PID
переменная (см. $appdir/bin/catalina.sh
). Я еще не тестировал, но должна быть возможность установить эту переменную в EnvironmentFile
файл.
После создания определений сервисов:
# start JIRA
sudo systemctl start jira
# enable automatic start on boot
sudo systemctl enable jira
Я понимаю, что это старый поток, но я не смог найти ответа, поэтому вот он:
отредактируйте fisheyectl.sh и измените nohup sh -c "exec $CMD" >> $FISHEYE_INST/var/log/fisheye.out 2>&1 &
чтобы не использовать nohup (потому что выскочка хочет, чтобы он работал на переднем плане:
#echo "Starting FishEye/Crucible... Output redirected to $FISHEYE_INST/var/log/fisheye.out"
#nohup sh -c "exec $CMD" >> $FISHEYE_INST/var/log/fisheye.out 2>&1 &
sh -c "exec $CMD"
Создайте свой файл /etc/init/fisheye.conf (я назвал свой тигель, но это не имеет значения):
# Crucible Upstart
#
# Required-Start:
# Required-Stop:
description "Crucible Server"
start on runlevel [2345]
stop on runlevel [!2345]
setuid crucible
setgid crucible
env FISHEYE_HOME="/home/crucible/crucible"
env FISHEYE_INST="/home/crucible/crucible-datastore"
# Give up if restart occurs 10 times in 30 seconds.
respawn limit 10 30
# keep it running in foreground to let upstart manage it
exec ~crucible/crucible/bin/start.sh
respawn
Обратите внимание: вам может потребоваться изменить setuid и setgid в зависимости от пользователя, от имени которого вы его запускаете. Вам также может потребоваться изменить env
линии для ваших путей.
Соответствующие фрагменты сценария инициализации, который я использую:
case "$1" in
start)
sudo -u fisheye /path/to/fisheye/startf.sh
stop)
sudo -u fisheye /path/to/fisheye/stopf.sh
;;
*)
echo "Usage: $0 start|stop" >&2
exit 3
;;
esac
Содержимое startf.sh:
source /home/fisheye/.profile
$FISHEYE_HOME/bin/start.sh
stopf.sh:
source /home/fisheye/.profile
$FISHEYE_HOME/bin/stop.sh
Соответствующее содержимое .profile:
export JAVA_HOME=/path/to/java/
export FISHEYE_OPTS="-Xms512m -Xmx4800m -XX:MaxPermSize=512m"
export FISHEYE_HOME=/home/fisheye/fecru-x.x.x
export FISHEYE_INST=/home/fisheye/inst-example
Конечно, я мог бы добавить исходный оператор .profile в предоставленные «рыбий глаз» сценарии запуска и остановки, но это означало бы, что после обновления его придется редактировать снова. Я старался сохранить файлы «рыбий глаз» без изменений, насколько это возможно.