弥生開発者ブログ弥生開発者ブログ2016-05-13CIでの確認項目こんにちは、Misoca開発チームのmzpです。GWは日光に遊びにいっていました。MisocaではJenkinsを利用してCIによる自動テストを行なっています。最初はrspecを実行するだけのシンプルなものでしたが、都度設定を追加し、様々な項目をCIで確認するようになっていきました。今日はそのCIで確認している項目について紹介したいと思います。静的解析コーディングスタイルのぶれや脆弱なコードを書かないようにするために、各種静的解析ツール(Rubocop、HAML-Lint、Brakeman)を導入し、警告がでないことを確認しています。導入した直後は違反箇所の一覧を作成するのみで、ジョブの成否とは無関係でした。違反箇所の修正をしなくなってしまったので、今は違反箇所がある場合はジョブが失敗する設定にしています。rspec全specの実行はrspec-queueで並列化した上で、実行します。以前は失敗したspecがある場合でも全specを完走させていました。開発メンバーの増加にともないビルドキューがつまり気味になってしまいました。オプションをつけ、失敗したspecがある場合は以降のspecを実施しないようにしました。並列度は何度か調整をおこない、ほどよい数に制限しています。デプロイできるかの確認(masterブランチのみ)masterブランチのみですが、開発環境では実行することがほぼないデプロイ用のコマンドの確認を行なっています。具体的には以下のコマンドが失敗しないことを確認しています。assets:precompile何度かCIは通ったがデプロイしようとしたら失敗したということが発生したので、このようにしています。クックパッド開発者ブログにあるallnightジョブを参考に、夜間にmasterブランチにあるspecを繰り替えし実行しています。これは「たまに失敗するspecがあるが、ビルドボタンを連打したらCIを通った」ということがしばらく続いたので、失敗するspecを洗いだすために実施しています。洗いだしたspecは、適宜失敗する原因を突き止めて修正しています。外部サービスと通信するspec等があるため、なかなか全部成功にはできていません。結果は毎朝Slackに通知されるようになっています。クラウド見...2020-03-19さようならrrrspec、いままで速度をありがとうMisoca開発チームの黒曜(@kokuyouwind)です。Misoca開発の@kokuyouです。Advent...2017-06-16MisocaのCI構成まとめこんにちは。4月からMisocaにjoinしました、tkykです。京都市内...2016-12-02Jenkinsとrrrspecと私Misoca開発チームの黒曜(@kokuyouwind)です。弥生は第23回Quesに協賛します。引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。