Qiitaに書き続けたbaserCMSのTipsを振り返る

ふと気付いたら baserCMS Advent Calendar 2016 - Adventar が始まっていたので書いてみました。
その24日担当です。1日遅れちゃいました。

この記事では「Qiitaに書き続けたbaserCMSのTipsを振り返る」ことにしてみました。

baserCMS3のご紹介

baserCMSとは、CMSです。
baserCMS・・・公式サイト
baserマーケット・・・プラグインとかテーマの配布・販売

baserCMS Tips on Qiitta

[baserCMS]少し古いバージョンで、管理側プラグイン一覧が表示されない場合 - Qiita
通常動作には影響ないけど、少し古いbaserCMS3系を利用していると起こること。
見つけたときにびっくりしたので載せたこと。

[baserCMS]データキャッシュ用ファイルが大量に生成されることを防止する - Qiita
トラブルを防ぐための手法のひとつとして載せたこと。

[baserCMS]CPIサーバでWAFに引っ掛かって記事更新できないとき - Qiita
いつも必ず起こるワケではないので、発生した際の対処策として。

[baserCMS]オプショナルリンク利用時、リンク中にブロック要素を含む場合のサンプル - Qiita
組込みの際に、ある条件下ではプラグインの動作だけで対処できないため載せたこと。

[baserCMS]バージョン番号を比較して動作を分ける - Qiita
文字列・数値比較でもなくどうしようかな?と思って探っていたら丁度良さそうだったため。

[baserCMS]メールフォームの和暦日付の範囲指定の仕方 - Qiita
フォームの日付に、範囲指定が効くという便利なことを残しておきたかったため。

[baserCMS] メールフォームの通知メールにフィールドの値を入れる - Qiita
フォームの通知機能にも、ちょっと便利な仕様が入っていることを伝えたかったため。

[baserCMS] 固定ページでcode欄を入力欄に見立てて使ってみるTips - Qiita
CakePHPのビューブロックの仕組みを取り入れるとラクにできることを伝えたかったため。

意外と少なかった

もうちょっといろいろ書いてた気がしてたのですが、思ったより少なかったです。
制作時にちょっと悩んだことや、少し工夫したらラクになることをこれからもシェアしていきたいなー、とか思ってます。

で、最後にあとひとつTipsを。。。

pull request 前に Travis CI でテストしてみよう

baserCMSのコア開発プロジェクトでは、Travis CI を利用して、テストのチェックを行っています。
Travis CI - Test and Deploy Your Code with Confidence
流れとしてはこんな感じです。
※ローカルでのテスト手順もあるのですが、ここでは Travis CI 利用を前提とします。

  1. https://github.com/baserproject/basercms をフォークして、自身の github アカウントにリポジトリを作る
  2. 作成したリモートリポジトリを clone してローカルに持って来る
  3. トピックブランチを切って開発する
  4. 自分のリポジトリに push する
  5. 自分のリポジトリから、baserCMSプロジェクト側のリポジトリに対して pull request 送る(※コア開発メンバーにアラートが飛ぶ)
  6. baserCMSプロジェクトと連携している Travis CI で、テストが動く
  7. テストが通ったら、該当 pull request にテスト通過のマークが付く
  8. テストが通らなかったら、該当 pull request にテスト通過ダメでしたのマークが付く
  9. 開発メンバーによりマージされる or リジェクトされる

Travis CI でのテストが通らなかった場合はリジェクトされるワケですが、このテスト実行は「baserCMSプロジェクトと連携している Travis CI で実行」されている状態です。
つまり、push して pull request 送るまで、テスト動作の結果が判りません。
このことは何を指しているかというと、送った pull request のテストが通らなかった場合、プロジェクトの開発メンバーに、テスト失敗による差し戻しの手間を生むことを示します。
もちろん、自分で送った pull request のテストの状況を確認して、自身の手で差し戻すこともできますが、テストが実行され、その結果が返って来るまで画面の前で待つのか?というとそんなことはやってられないですね。

そこで、上記のような手間を解消するためにどうするか?というと、自分のアカウントにフォークしているプロジェクトを、Travis CI と連携させる方法を取っておくと良いです。

  1. 「Sign in with GitHub」を利用して Travis CI にログインする
  2. 自分のアカウントのbaserCMSリポジトリでの有効化を指定する

これだけです。
baserCMSプロジェクトには、動作に必要な.travis.yml は既に存在しているため、あとは自分のリポジトリに push したタイミングでテストが実行されます。

あとがき

baserCMS Advent Calendar 2016、いろんな記事が出て面白かったですね。
おつかれさまでした。

▲ to Top

▲ to Top