2011年1月23日日曜日

CIのプラクティス

以下、『継続的インテグレーション入門』にのってるプラクティスのメモ

「始めよう」からのプラクティス
  • 変更を起点としてビルドを実行する
「CIの紹介」からのプラクティス
  • 頻繁にコードをコミットする
  • ビルドできないコードをコミットしない
  • ビルド失敗を速やかに修復する
  • 開発者テストを自動化する
  • 全てのテストとインスペクションを合格させる
  • プライベートビルドを実行する
  • ビルドが失敗したコードを取得しない

「変更を起点としたビルドの実行」からのプラクティス
  • ビルドを自動化する
  • コマンド1つでビルドを実行する
  • ビルドスクリプトをIDEから分離する
  • ソフトウェア資産を集中化する
  • 一貫したディレクトリ構造を作成する
  • 失敗しやすいビルドプロセスから始める
  • 複数環境へのデプロイに対応する
  • インテグレーションビルドマシンを使用する
  • CIサーバを使う
  • 手動インテグレーションビルドを実行する
  • 短時間でビルドを実行する
  • 段階的にビルドを実行する

継続的DBインテグレーションのプラクティス
  • DBインテグレーションを自動化する
  • ローカル環境でサンドボックスを使う
  • バージョン管理リポジトリを使ってDB資産を共有する
  • 開発者にDBを変更する権限を与える
  • DBAを開発チームの一員にする

継続的テストのプラクティス
  • 単体テストを自動化する
  • 結合テストを自動化する
  • システムテストを自動化する
  • 機能テストを自動化する
  • 開発者テストを分類する
  • 実行時間が短いテストを先に実行する
  • 不具合に対してテストを書く
  • 結合テストを再実行可能にする
  • 一つのテストケースに一つのアサーションを書く

継続的インスペクションのプラクティス
  • コードの複雑度を下げる
  • 継続的にデザインレビューを実施する
  • コード監査による組織標準の維持
  • コードの複製を減らす
  • コード網羅率を評価する

継続的デプロイのプラクティス
  • 動作するソフトウェアを常にリリースできるようにする
  • リポジトリの資産にラベル付けをする
  • クリーンな環境を構築する
  • 個々のビルドにラベルを付ける
  • 全てのテストを実行する
  • ビルドフィードバックレポートを作成する
  • リリースのロールバックを可能にする

継続的フィードバックのプラクティス
  • 継続的フィードバック手段を利用する

0 件のコメント:

コメントを投稿