Actionsで個人アプリのデプロイを自動化したのでその手順を書きます。Actionsとは?「GitHub上で動作するサーバレス実行環境」で、GitHub関連のイベントをトリガーにCI/CD様々な処理を実行できます。中の人がGitHubの概要について説明しているわかりやすい記事があるので、それを読むのがオススメです。Marketplaceに、actionがたくさんあり、自分のワークフローの一部に使用可能です。(詳しくはここ)GitHubの各種操作に対するイベントのサポートが他CIより手厚く、様々なトリガーをもとに処理を実行できます。CIもiOSの個人開発で利用しようとすると有料プランの利用が必須になってきます。ActionsはOSSだと利用が無料。Privateリポジトリは従量課金制ですが、1か月あたり2,000分(Proなら3,000分)まで無料という緩めの制約で、デプロイに利用するくらいであれば無料枠で利用できます。10倍の速度で消費されます。最短で200分/月となります。(公式ドキュメントより)サポートされている環境iOSのビルド周りに必要な、主要なツールはプリインストールされています。Xcodeに関してはBitriseは19/12/28現在、12/3に出た11.3がサポートされているので、アプリに特化したCIサービスに比べると少しサポート遅めです。Actionsにインストールされているソフトウェアは公式ページで確認できます。Actionsの構成ディレクトリ構造リポジトリの.github/workflows/をrootに複数のワークフロー(yamlで定義)がぶら下がる階層構造になります。action.ymlワークフロー内の構造{some-workflow}.ymlの中に最低1つのjobがあり、複数のstepがぶら下がる構成になります。yourselfボタンをクリックすると、最初のworkflowの設定画面になります。ワークフロー名(yamlのファイル名)を指定。(公式の例に合わせてハイフン区切りで命名)そのままファイルをGitHub上で編集することもできます。Worldまで実行できます。ActionsでiOSのビルド環境を構築するには、fastlaneを使うのがオススメと中の人が回答しているのでfastlaneで実装します。実装ReleaseブランチにPRがマージされたら、デプロイのActionを実行する例は下記です。(yaml)記法については公式ドキュメントを読んでください。上から読んでいけば何となく何をやっているか分かると思います。最後のstepでfastlaneを実行して実際のデプロイ処理を行っています。分かりづらい箇所を補足します。MarketplaceのActionの利用リポジトリのCheckoutなど主要な処理はGitHub謹製のActionが用意されているので、それを使います。キャッシュの利用cocoapodsやcarthageのキャッシュが可能なactionを公式が提供しています。ifキーワードを組み合わせて、キャッシュがない場合のみインストールを実行するよう制御することが可能です。秘匿情報の受け渡し秘匿情報は、リポジトリのsettings/Secretsで指定でき、内部で暗号化され、アクションでのみ使用できます。ワークフローがforkedリポジトリからトリガーされた場合、GITHUB_TOKEN以外の情報は渡されません。fastlaneで必要なため、SSHキーのセットアップをする自分のケースだと、fastlaneのmatchを使用しているため、SSHの設定が必要でした。fastlaneのstepより先のstepでセットする必要があります。設定するデプロイの実行デプロイの実行自体は、stepの最後でfastlaneのlaneを叩くことで実行しています。withキーワードを使って環境変数経由で渡します。}}fastlaneの記事ではないので参考程度ですが、こんなlaneを実行してます。endend実行!!slackへの投稿もfastlaneで行っています。Actionsのデフォルトの環境変数として利用可能です。Actionsのデフォルトの環境変数GITHUB_SHAを使えば、slackなど実行結果にリンクを貼ることが可能です。無料枠の制限を超えそうになると?Actionの実装でデバッグを繰り返したところ、1ヶ月の無料枠の制限を超えそうになってしまいました。無料枠の75%を超えたタイミングでGitHubからメールが来ました。指定できるので必要に応じて設定しましょう。upLoginユーザーは見つかりませんでした。