は、この質問は、私が働いている開発チームに上がってきた私たちは本当にコンセンサスを得ることができませんでした:は常にデータベースの変更をCIの一部にする必要がありますか?
Should changes to the database be part of the CI script?
あなたが作業しているアプリケーションが関与するデータベースを持っていると仮定します。私はそれが統合の定義なので、はいと思います。アプリケーションの一部を含めていない場合は、実際に統合をテストしているわけではありません。反対の議論は、CIサーバーが基本的なプロジェクトセットアップの動作を確認する場所であることです。つまり、コードの最新バージョンのバージンチェックアウトを構築することです。
この質問に回答するCIの「ベストプラクティス」文書はありますか? CIについて熱心な人たちの間で議論されているのでしょうか?
Martin Fowler's opinion on it:
よくある間違いは、自動ビルドのすべてを含めることはありません。 ビルドには、データベース・スキーマを リポジトリから取り出し、実行環境で起動する必要があります。
私は、ツールなしでdbの移行を行うための多くのオプションがあると思います。 FluentMigrator、増分アップグレードスクリプトなどがあります。 K Scott Allenには、これについて語る良い記事があります。 – jcollum