私のプロジェクトをビルドしているジェンキンズでビルドジョブを持っており、実行後にリモートサーバー上にsshシェルスクリプトを開き、ファイルを転送し、デーモンを起動します。ジェンキンスを経由してリモートサーバー上でデーモンを起動するSSHシェルスクリプトが不思議に終了する
RHELサーバーのコマンドラインからデーモンを停止して起動すると、正常に実行されます。ジョブがジーンキンで実行されると、エラーは発生しません。
デーモンが正常に停止し、正常に起動します。しかし、起動直後、デーモンは突然死にます。
sudo service daemonName stop
# transfer files.
sudo service daemonName start
私は問題は
をパス指定されていないことを確信している誰もがジェンキンスさんは、デーモンが完全に完了していないに開始引き起こすSSHシェルスクリプトを実行している方法についての特別な何ができるか知っていますか?
あなたはログを確認しまし起動daemonname?そこにはどんな誤りがありますか? – fedorqui
ジェンキンスのログ?またはコンソールログ?またはデーモンのログ? コンソールログにすべての処理が成功したことが示されます。 デーモンのログに問題が表示されない jenkinsのログが参考になるとは思えません。 – Eric
デーモンが適切にデーモン化されていない可能性があります。ジェンキンスのシェルスクリプトに 'sleep 10000'を追加して、起動しているシェルが閉じられていないときに実行時間が長くなっているかどうか確認しましたか? Jenkinsの 'env'出力とシェルを比較しようとしましたか?それが自家製デーモンの場合、ロケールのようなものの影響を受けるかもしれません。 –