私は私の会社にいくつかの肯定的な変更を加えようとしており、その変更の1つは継続的インテグレーションの実装です。モバイル開発(iOS/Android)を行っているので、両方のタイプのプロジェクトをサポートするCIが必要です。ご存知のように、CIについてはあまり詳しくありませんが、少しググってみましたが、JenkinsとHudsonの2つが最も人気があると思います。
2つの質問があります。
まず、サーバーの別のオプションとして TeamCity を確認することをお勧めします。
私の見解では(Jenkinsの経験はTeamCityの経験より少し少ないですが)どちらも優れた非常に有能なツールです-どちらかを使用している環境では満足しています。
わかりました、問題の本質に到達するために、すなわち.
CIがプロジェクトがコーディング標準に準拠してコンパイルされているかどうか(疎結合など)を確認する方法はありますか?
最も基本的なレベルでは、CIサーバーが行うすべてのことは、スクリプトを実行し、そのスクリプトの実行結果を解釈して提示することです。そのため、スクリプトを作成できる場合、CIサーバーはおそらくスクリプトを実行でき、出力を適切にフォーマットできる場合CIサーバーはおそらく結果を解釈して報告できます。
もちろん、主要なビルドサーバーはすでに多くの一般的なツールと通信/統合することができます。つまり、実際に問題になるのは、コーディング標準をチェックするためにどのツールを使用しているかですそれ選択したCIサーバーと統合します。
はい、CIサーバーは、スクリプトを無意識に実行するだけでなく、自動化の面でゲームに多くの機能をもたらします。しかし、結局のところ、それがまさにその仕事です。
明確にするために-ビルドサーバーはスクリプトを実行するだけではなく、プロセスの自動化(特に(D)VCSとの統合)が付加価値をもたらすことを知っていますが、「ビルドサーバー」の質問の答えは「サーバーとスクリプト」であり、他のすべてはそこから流れます。
IOSアプリを開発するJenkinsを使用する前に、会社のビルドサーバーとスクリプトを設定しました。多くの人が言ったように、CIサーバーはかなりシンプルであり、Jenkinsは無料/オープンソースであり、カバレッジレポートの公開やgithubの統合などの多くのプラグインを備えているため、私は好きです。