Yak shaving logs


My life is just yak shaving.

CircleCIでtimeout: if a command runs this many seconds without output, kill it (default:600s) にならないようにcircle.ymlを調教する

2017/06/15 #capistrano #circleci #インフラ

By Yusuke Takita


こんにちは。Kajitz inc.の瀧田です。

CircleCIのtimeoutのデフォルトは(600s = 10min)になっています。

timeout: if a command runs this many seconds without output, kill it (default:600s)
https://circleci.com/docs/1.0/configuration/

CircleCIのdeployセクションでcapistranoを使ってデプロイを走らせているのですが、
アセットのコンパイルが遅くてビルドの時間が10分を超えてしまうケースがあり、
以下のtimeoutエラーになってしまっていました。

https://gyazo.com/e308fcbb17ba1df62e1fe315a8bca8aa

command bundle exec cap production deploy took more than 10 minutes since last output

timeoutの設定を調べたところ、以下のように記載することでtimeout時間を設定できることがわかりました。

circle.yml

deployment:
  production:
    branch: master
    commands:
      - bundle exec cap production deploy:
          timeout: 1800

余談ですが、最初は以下のように記載したところ、

deployment:
  production:
    branch: master
    commands:
      - bundle exec cap production deploy
          timeout: 1800

Syntax Error while parsing circle.yml: mapping values are not allowed here in 'reader', line 14, column 18: timeout: 1800 ^

https://gyazo.com/1de27b61261d6008d93bce1f4cda5b78

というエラーでCircleCIが落ちてしまいハマりました。
(エラーメッセージは再読み込みをしないと表示されず、エラー内容が全くわからなかったためだいぶハマりました)

YMLの文法的に - bundle exec cap production deploy: とコロンをつけないと行けなかったようです・・・

https://gist.github.com/billhorsman/3605244#gistcomment-526370

このエントリーをはてなブックマークに追加

categories


最新記事


tags