ラベル Buddy の投稿を表示しています。 すべての投稿を表示
ラベル Buddy の投稿を表示しています。 すべての投稿を表示

2019年1月15日火曜日

[Buddy] not enough disk space でエラーが出たのでキャッシュ削除をした話


Build failed: not enough disk space. The size of files generated by your build exceeds 5120 MB. Please run the execution with 'Clear cache' to free space in the filesystem or contact support@buddy.works to increase the size limit.
Action failed: see logs above for details

キャッシュクリアしたら回復しそうなので、方法を調べました。

マニュアル実行のオプション
調べるまでもなく、マニュアル実行するときのオプションがあるのを(たぶん) Buddy を使ってる人なら知っているでしょう。


しかし、これをやっても面白みがありませんし、できるならば手動実行ではなく、自動で勝手にいい感じにキャッシュクリアできたら一番です。
というわけで、検索してみました。
(Not Recommended ですし…)

コミットメッセージコマンドからクリアする
Buddy v1.5.1 Released - Buddy

だいぶ前のリリースノートですが、コミットメッセージに「--clear-cache」と入れると、キャッシュをクリアしてくれるようです。

How Use Commit Commands - Buddy
ドキュメントには一切書かれてませんが、試してみました。




結果は・・・


キャッシュクリアされてました!

でも、ビルドは失敗してる・・・

デフォルトでキャッシュクリアするように YAML に書く
iutest のパイプラインは as Code しているので、YAML で設定できないか調べてみました。
Yaml Schema - Buddy


auto_clear_cache Boolean Defines whether or not to automatically clear cache before running the pipeline .
YAML Schema を見てみると、auto_clear_cache を設定できるようだったので試してみました。




結果は・・・


キャッシュクリアされてました!

でも、ビルドは失敗してる・・・

結局マニュアル実行
なぜだ…という気持ちを投げ捨てて、結局マニュアル実行しました。。。





結果は・・・


成功した!?
なぜだ・・・

まとめ
ビルドの結果はともかく、
Buddy でキャッシュをクリアしてビルドする場合は、以下の3つの方法が取れます。

* コミットメッセージコマンド「--clear-cache」
* YAML の「auto_clear_cache: true」
* マニュアル実行時の「Clear cache before running」

もやっとしますが、今回は以上です。
では。

2018年7月19日木曜日

[CI] Buddy を始めました

久しぶりに新規 CI サービスを使ってみたエントリーです。
今回は Buddy です。



特徴
Buddy の特徴は Pipeline にあると思います。
他の CI サービスでもパイプラインで CI を構築できると思いますが、Buddy のパイプラインはアクションを選んでつなげるだけって感じでお手軽な印象を受けました。
また、(ここで紹介するということは)無料プランもあります。
(120ビルド/月なので他のサービスと同等かな)


SignUp
連携するアカウント(GitHub or Google or Bitbucket)を選択し、認証したらサインナップ完了です。


プロジェクトを作る
サインナップができたら、まずはプロジェクトを作っていきます。

GitHub や Bitbucket と連携している場合は、連携したサービスからリポジトリを選択します。
プロジェクトの作成はこれで以上です。



つづいて、パイプラインを作りましょう。

パイプラインを作る
まずは、パイプライン名とトリガーの設定、対象のブランチを決定します。


次にアクションを設定します。アクションは1つのパイプラインにつき、いくつも連結することができます。まずは、1つ目のアクションを作成しましょう。
アクションはプリセットが用意されていますので、まずはやりたいことから検索してみると良いです。
とりあえず自由にアクションをさせたい場合は、Local Shell などにするとよいでしょう。


選択したアクションにより設定内容が変わりますが、次に環境の設定をします。
今回は Local Shell を選択したので、実行環境の Docker コンテナイメージを設定します。


「Add this action」 ボタンを押すとアクションの作成が完了です。


以下のようにパイプラインにアクションが追加されていると思います。
あとは、アクションの前後にある「+」ボタンから、アクションを追加していけばパイプラインが完成します。



作ったアクションは個別に ON/OFF できるのも便利だなーと思いました。

buddy.yml
Buddy は yaml にも対応しています。ドキュメントはこちら。
Yaml Introduction - Buddy

デフォルトは GUI でのコンフィグになっているので、yaml コンフィグに切り替える場合は、プロジェクトページの右下にある「YAML configuration」で設定を変更します。


注意: 設定変更のトグルがありますが、これを YAML に変更した瞬間、GUI のコンフィグは消し飛びます。まずは、切り替える前に出力された yaml テキストをローカルに保存しましょう。ファイル名は「buddy.yml」です。


buddy.yml を commit/push したら、改めて上記画面を開き、トグルスイッチを YAML に切り替えましょう。
これで変更完了です。

逆に YAML から GUI に戻す場合は、トグルスイッチを GUI に戻すだけで良さそうです。
(再び YAML に戻す場合は、設定が消えないように注意しましょう)

バッジ
Buddy ではパイプラインのステータスバッジと、ブランチのステータスバッジの2種類があります。
パイプラインのバッジはすぐに見つかると思いますが、パイプラインのページの右側に「Badge」リンクがあるので、そちらから参照できます。


ブランチのステータスバッジは、「Code」タブを開いたページにある「Badges」リンク取得できます。
こちらが他の CI サービスのバッジと同等のものになると思います。




最後に
Buddy はパイプラインを売りにしているだけあって、UI 上でパイプラインを構築するのはわかりやすく簡単でした。
また、Wercker と違って中途半端に yml 依存がなくて、ちゃんと Web 上の設定だけでパイプラインがちゃんと構築できるのも嬉しいところです。
パイプラインからパイプラインにつなぐこともできるので、比較的自由度もありそうです。

加えて、YAML コンフィグにそのまま切り替えもできるので、そこも Wercker よりいいなと思いました。
どうしても、 Wercker と比べてしまいがちですが、Wercker のほうは yaml に書いたビルドをパラメタライズする感じでパイプラインを構築できるので、そこは Wercker のいいところだと思ってます。
Buddy でも似たことができるのかもしれませんが、今回はここまでとします。

ではでは。