[salesforce][CI] Jenkinsとforce.comの連携
force.com開発でもJenkinsと連携させて特にISVforceやforce.com OEM製品開発の継続的インテグレーション(CI)アプローチをとることが可能です。
目標を端的に言いますと開発メンバーがgitやsvnへソースをコミットするタイミングでApexやjavascriptの単体テストを走らせ、Jenkins(CIサーバ)からforce.comへデプロイし、テスト結果やカバレッジをXMLで取得しJenkins上にレポーティングします。
force.com開発はMigration Toolを使用するとantを利用してコマンドラインからforce.comへデプロイすることが可能です。(詳しくはアピリオさんの「Force.com移行ツールを使用したSalesforceメタデータのデプロイ」をどうぞ)
あとはデプロイ後にApexのテスト結果をレポート可能な形で取得できればOKなのですがant-salesforce-ciを利用して実現できます。(いつもながら有用なツールを公開していただける皆様へ感謝致します)
設定方法についてもう少し詳しく手順を記述致します。
- $ANT_HOME/lib)へant-salesforce-ciのjarを配置
- Jenkins Cobertura Pluginのパスに「target/sforceci/coverage.xml」
- テスト結果の集計のパスに「target/sforceci/test-result.xml」
以上の設定で以下のようなレポーティングが可能です。