ジョブの実行中にデーモンやサービスをバックグラウンドで実行させようとしても、起動後にサービスが利用可能でない場合があります。 これが発生する原因は、起動したバックグラウンドプロセスが、起動直後にプロセス自体を終了するステップを実行している可能性があるからです。 次に示す、Elasticsearch の起動ステップを例にとって考えてみます。
- run: ~/elasticsearch-2.4.3/bin/elasticsearch -d
この場合、ステップがアクティブになるのは 1 秒間のみです。
Elasticsearch バックグラウンドプロセスを起動するプロセスが正常に終了すると、そのステップは完了したと見なされ、ステップ全体が終了します。
- run:
name: Elasticsearch
command:~/elasticsearch-2.4.3/bin/elasticsearch
background: true
Elasticsearch をフォアグラウンドで起動し、 run キーの background: true 属性を使用すると、Elasticsearch プロセスはジョブが動作している限りアクティブ状態になります。
関連情報
https://circleci.com/docs/2.0/configuration-reference/#background-commands
コメント
ログインしてコメントを残してください。