再構築できる手順を常に用意
runnerのラベル、ツールのバージョン、環境変数名、依存関係のインストール手順、署名用ファイルの取り込み手順を記録します。個人の記憶に頼るより、自動化スクリプトで環境を再構築できるようにしておくと、引き継ぎが簡単です。
署名証明書と秘密鍵は暗号化してバックアップし、ビルド成果物とログはチームのストレージに保存してください。DerivedDataや依存関係のキャッシュはコストに応じてバックアップの要否を決められますが、再生成できる状態にしておきましょう。
導入チェックリストを確認
問題が起きたら、まず記録を残す
ノードID、発生日時とタイムゾーン、最後に成功したタスク、エラーの概要を記録します。SSHで接続できるか、runnerがオンラインか、タスクを開始できるかを個別に伝えてください。「ビルドが壊れた」だけでは状況を把握できません。
ログインできる場合は、必要なデータとログを先に取り出し、新しいタスクの実行を一時停止します。チケットには機密情報を伏せた内容だけを記載してください。調査のためにアクセス許可が必要な場合は、許可する範囲を明示し、秘密鍵やパスワード全体を送らないでください。
ログインして問題を報告
ノード交換後に再確認
サポート担当者が状況を確認した後、チケットで対応方法をお知らせします。ノードを交換する場合は、提供された情報に従ってアドレスと認証情報を更新し、ホストのフィンガープリントを再確認してください。
依存関係と署名用ファイルを復元し、runnerを再登録または再接続して、最小限のビルドを1つ実行します。新しいノードでタスクを実行できることを確認したら、古い接続情報と不要になったrunner登録を無効にしてください。
接続手順を再確認
ディスクを整理する前に、保持ルールを決めてください。成果物はリリース単位、ログはチームの監査要件に従って保存し、キャッシュは再生成できるようにローテーションします。ビルド中に作業ディレクトリを整理したり、システム全体のXcodeパスを切り替えたりしないでください。