LoginSignup
0
0

More than 3 years have passed since last update.

GitHub ActionsからFastlaneを使ってApp Store ConnectへIPAをアップロードする

Last updated at Posted at 2020-06-08

はじめに

GitHub Actionsを使いApp Store ConnectへIPAをアップロードする設定を行った。
特にApp Store ConnectとGitHub Actions間でのセッション更新を月に1度程度実施する必要があり、今後も管理が必要なため実施した作業などについてまとめておく。

環境および役割

  • GitHub
    • クレデンシャルを登録/管理
      • p12ファイル、プロビジョニングプロファイルはbase64エンコードして登録
      • Fastlane関連のクレデンシャル
  • GitHub Actions
    • GitHubで管理されているクレデンシャルを利用
    • 環境変数としてクレデンシャルをビルドマシンに登録
    • base64エンコードされたp12ファイル、プロビジョニングプロファイルをデコード
  • Fastlane
    • cert、プロビジョニングプロファイルを登録
    • IPA作成
    • App Store ConnectへIPAをアップロード

Fastlaneが提供する証明書関連の管理機能としてmatchという機能があるようだが、base64エンコードしたプロビジョニングプロファイルなどを利用することで問題ないと判断し導入は見送った。

セットアップに時間がかかった点として、GitHub ActionsからApp Store ConnectへIPAをアップロードする際に必要な認証周りである。
今後もセッションの更新作業が必要になるがこの点についてはFASTLANE_SESSIONを利用して対応した。
詳細については以下記事に詳しい。

FASTLANE_SESSIONの更新作業

前述の通りFASTLANE_SESSIONについてGitHub Actions <=> App Store Connectの環境間での通信で定期的(おそらく1回/月程度)に更新をする必要がある。
手順は以下の通りとなる。

  1. fastlane spaceauth -u user@email.com を実行
  2. Should fastlane copy the cookie into your clipboard, so you can easily paste it? (y/n)と聞かれるためyesを選択しcookieを保存
  3. GitHubで管理している該当のクレデンシャルを更新

p12ファイル、プロビジョニングプロファイルの更新

1年に1度更新する必要があるiOSアプリ関連の証明書についてbase64エンコードしてGitHubに登録をする必要がある。
手順については概ね以下の通り。

1.証明書を更新
2.base64エンコードを実施

$ openssl base64 -in Distribution.p12 -out Distribution.txt
$ openssl base64 -in Production.mobileprovision -out Production.txt

3.base64エンコードした結果をGitHubに登録

これらの手順については以下記事に詳しい。

Appendix

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0