CircleCI の時間制限について
CircleCI でジョブを実行する場合時間制限があります。
気を付けるべき点など書いておきたいと思います。
デフォルト時間制限
時間制限のデフォルト値はと書きたいのですが、ちょっと違って、出力がない状態でのタイムアウト値というのが正しいです。
その値のデフォルト値が 10分
です。
リミッター解除!
では、そのタイムアウト値を引き延ばすための、リミッター解除を行うにはどうするか?です。
下記のように、 no_output_time
を設定します。
単位は、秒の s
、分の m
、時間の h
が使用できます。
秒で設定することはあまりないと思いますが、デフォルトの10分では短すぎる場合に調整をしてみてください。
- run:
command: . ./script.sh
no_output_timout: 30m
上限はないのか?
これ、no_output_timeout
のとこに上限値書いておいてくれても良いと思うのですが、書いてないんですよね。
で、結論として、上限がないのかどうかというと、あります。
ドキュメントには、Note: Jobs have a maximum runtime of 5 hours.
と書かれていて、ジョブ実行時間の上限値が 5時間
であることがわかります。
ジョブを実行開始してから5時間たつと、(多分)落とされます。
ですので、最大でも5時間で、それ以上かかるような場合は、パラレルで動かすことを検討するという感じですね。
まぁ、パラレルになると、有償プランということになると思いますが。
まとめ
通常ではそこまで気にすることはないですが、サイレントで動き続けるような場合にはこの設定が必要になってくると思います。
全体としての実行時間なども一応考えておくといいのかもしれません。