私はこの質問をしました Atlassianで しかし、それはAtlassianの質問よりもシステム管理者の質問であるため、serverfaultの方が適切かもしれません。
私はFishEye + Crucibleを起動時に開始するために、 このガイド に従うことを試みてきました。 JIRAは、起動時にUbuntuに独自のユーザー(jira)として既にインストールされて実行されていますが、Fisheye + Crucible(別名fecru)に同じことをさせることはできません。
そこでの指示(およびページのコメントにあるUbuntu関連のメモ)に従って再起動しました。JIRAは通常どおり独自に起動しましたが、fecruは起動しませんでした。 'jira'に設定したRUN_AS変数と関係がありますか?そのコマンドは、ユーザー「jira」のパスワードを要求せずに起動時に実行されますか?プログラムJIRAはそのユーザーとして正常に起動すると起動するため、プロンプトが表示されないことがわかりました...
使用:
Ubuntu 10.04 Lucid
Jira 5.0
Crucible + Fisheye 2.7.11
この質問が再び表示され、主要なディストリビューションによるsystemdへの切り替え以降、回答が古くなったため、JIRAのsystemdサービス定義を追加します。
/ 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
/ etc/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ファイルをサポートしていません したがって、現在、その問題の回避策を使用して、この行をnohop
コマンドの後にfisheyectl.sh
に追加する必要があります。 :
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
私が使用するinitスクリプトの関連ビット:
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ステートメントを追加することもできますが、それはアップグレード後に再度編集する必要があることを意味します。魚眼レンズのファイルはできるだけ変更しないようにしました。
これは古いスレッドだと思いますが、答えが見つからなかったので、次のようにします。
fisheyectl.shを編集し、Nohup sh -c "exec $CMD" >> $FISHEYE_INST/var/log/fisheye.out 2>&1 &
を変更してNohupを使用しないようにします(upstartがフォアグラウンドで実行することを望んでいるため:
#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
行を変更する必要がある場合もあります。