29

新しい Xcode サービスや新しい Apple CI を Jenkins と統合する方法/プラグインはありますか?

なんで?

Jenkins サーバー + OSX ビルド スレーブを経由して接続する場合の主な問題sshは、単体テストが機能しないことです。これは、iOS シミュレーターがこの構成に存在しないグラフィカル環境を必要とするためです。

Xcode サービス (単体テストをサポート) を Jenkins と統合できることを願っています。

私のニーズには Apple CI を使用するだけで十分かもしれませんが、この質問は Xcode サービスと Jenkins の統合を目的としています。

私がすでに知っていること

私は既存の Xcode Jenkins プラグインの経験がありますが、新しい Xcode サービスや新しい Apple CI をサポートしていないようです。私は CI を介した単体テストに特に熱心です (古い方法では ssh セッションで適切に動作しませんでした)。

知りたいこと

Jenkins とssh接続されたビルド スレーブで現在動作していない次の問題に関する情報を希望します。

  • ヘッドレス システムでの単体テスト
  • フランクまたは同様の受け入れテスト
  • プロビジョニング プロファイルの自動更新 (Apple CI が行います)

また、現在 Jenkins とssh接続されたビルド スレーブで正常に動作し、Xcode サービス統合でも動作するはずであるという情報:

  • さまざまなビルド構成 (Release、Debug、TestFlight) / スキームのビルド
  • ビルド番号の自動増分
    • (Jenkins を使用すると、プロジェクトのビルド番号を に設定できます。Jenkins は、ビルド番号に${BUILD_NUMBER}応じてこの環境変数を設定します。Apple CI がビルドを実行すると、代わりにビルド番号が設定される可能性が高くなります。)
    • Jenkins と Apple CI 間のビルド番号の処理と同期
  • 異なる Jenkins ジョブから Apple CI のビルド プロダクトにアクセスする
    • たとえば、TestFlight にアップロードするジョブの場合
  • ビルドのバックアップ
  • 特定のブランチへの git push での自動ビルド
  • 電子メール通知

いくつかの追加の質問/ヒント

  • Apple CI == Xcode serviceApple CI が単にXcode サービスを使用しているかどうかはわかりません。後者の場合、Xcode サービスはインテリジェントなビルド スレーブのようなものであり、Jenkins はそれを使用してビルドとテストを実行できますが、ビルド番号と製品を単独で管理できます。
  • Apple CI は別個の CI であり、複数の CI を互いに統合することは、最も簡単で有用な方法ではないことを認識しています。Apple CI は私のニーズに対して十分に柔軟ではなく (上記を参照)、Jenkins の古い方法にはいくつかの問題があるのではないかと心配しています (上記を参照)。
4

2 に答える 2