継続的インテグレーション(iOSおよびAndroidプロジェクトを使用)[終了]


10

私は会社にプラスの変更を加えようとしており、その変更の1つは継続的インテグレーションの実装です。モバイル開発(iOS / Android)を行っているので、両方のタイプのプロジェクトをサポートするCIが必要です。ご存知のように、CIについてはあまり詳しくありませんが、少しググってみましたが、JenkinsとHudsonの2つが最も人気があると思います。

2つの質問があります。

  1. ジェンキンスについてのあなたの考えは?
  2. CIがプロジェクトが
    コーディング標準に従ってコンパイルされているかどうか(疎結合など)を確認する方法はありますか?

3
「ジェンキンスとハドソンは2つです」...ええと、ジェンキンスハドソンの新しい名前であることをご存知ですか?
gnat

1
本当に知りませんでした!私が言ったように、私はCIに非常に新しく、経験がありません。Soooo .. J&H同じこと..私の選択肢を狭めると思います:)
paxx 2012年

チームシティ、クルーズコントロールなどもあります。
カイルホジソン

@gnat:ジェンキンスはハドソンのフォークだと思う。hudsonはまだ存在していると思います。Oracleが管理するhudson-ci.orgです。Jenkinsは、ほとんどの人が移行した非常に良いフォークです。私が間違っていたら申し訳ありません...
dbalakirev

回答:


9

まず、サーバーの別のオプションとしてTeamCityを検討することをお勧めします。

私の見解では(TeamCityよりもJenkinsの経験が少し少ないですが)どちらも優れた非常に有能なツールです。どちらかを使用している環境では満足しています。

わかりました、問題の本質に到達するために

プロジェクトがコーディング標準に準拠してコンパイルされているかどうか(疎結合など)をCIが確認する方法はありますか?

最も基本的なレベルでは、CIサーバーが行うことはすべて、スクリプトを実行し、そのスクリプトの実行結果を解釈して提示することです。そのため、スクリプトを作成できる場合、CIサーバーはおそらくそれを実行でき、出力を適切にフォーマットできる場合CIサーバーはおそらく結果を解釈して報告できます。

もちろん、主要なビルドサーバーは既に多くの一般的なツールと通信/統合することができます。実際、問題は、コーディング標準を確認するためにどのツールを使用しているか、そして選択したCIサーバー統合するかです。

はい、CIサーバーは、スクリプトを無頓着に実行するだけでなく、自動化の面でゲームに多くの機能をもたらします。


明確にするために-ビルドサーバーはスクリプトを実行するだけではなく、プロセスの自動化(特に(D)VCSとの統合)が付加価値をもたらすことを知っていますが、「ビルドサーバー」の質問の答えは「サーバーとスクリプト」であり、他のすべてはそこから流れます。


TeamCityをiOSのCIサーバーとして使用することに成功しました。Androidで使用するのは簡単だと思います
sylvanaar 2012年

5

私はTeamCityの推奨事項に次ぐものです。これは素晴らしい製品です。そこに座っている時間がないため、Androidと話すことができませんが、2つの記事(1 2)のおかげで、CIでiOSプロジェクトを正常に実行できました。

最もトリッキーな部分は、適切なキーチェーンを使用してMacに自動ビルドを実行させることなどに関係していたため、エミュレーターのみのオプションではなく、iDeviceにデプロイできる署名付きアプリを作成できます。


TeamCityをLinuxサーバーにインストールして、iOSプロジェクトを処理することは可能ですか?
paxx

1
TeamCityは関係ありません。ビルドエージェントです。iOSの場合は、Macにデプロイする必要があります。それだけがツールチェーンを持っています。あなたはおそらくGNUStepを使っていくつかのことをすることができますが、私の疑いはあなたが重要なことであなたがかなりイライラする時間を持っているだろうということです。
ワイアットバーネット

2

iOSアプリを開発するJenkinsを使用する前に、会社のビルドサーバーとスクリプトを設定しました。多くの人が言ったように、CIサーバーはかなりシンプルで、Jenkinsは無料/オープンソースであり、カバレッジレポートの公開やgithubの統合などの多くのプラグインを備えているため、私は好きです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.