「指先一つ」でWordPressを動かしたい
最近の僕は、GitHub Actionsを使ってWordPressへの自動投稿に挑戦している。
少し前までの僕なら、
「GitHub Actions?」
と聞いても、何のことかさっぱり分からなかった。
それが今では、記事の本文や画像を用意してGitHub Actionsを動かすと、WordPressに下書きが作られるところまで来た。
そして今回、さらに先へ進むことにした。
SEOタイトルやメタディスクリプションまで自動で入れたい。
そこまで出来れば、WordPressを開いた時には、かなり完成に近い下書きが待っている。
僕は思った。
「これが完成したら……」
人差し指をスッと前に出す。
「指先一つでWordPress……」
横にいるアトラスが言った。
「カズヲさん。それ、何か嫌な予感がします。」
僕も、そんな気がした。

昨日の実験は成功していた
実は前日、SEOタイトルとメタディスクリプションをWordPressへ送る実験には成功していた。
いきなり本体の仕組みを変更するのではなく、まず小さなテスト用のワークフローを作った。
そこで正常に動くことを確認してから、本番の package-post.yml に組み込む。
僕とアトラスで最近よくやっている方法だ。
小さく試して、動いたら本体へ入れる。
今回も順調だった。
……はずだった。
赤い丸が出た
修正したコードをGitHubへ入れて、GitHub Actionsを実行する。
あとは緑色のSuccessが出るのを待つだけ。
ところが――。
🔴 Failure
「…………。」
出た。
僕が以前から苦手だった赤いヤツだ。
昔の僕なら、この時点で完全に、
「YouはShock!」
状態である。
赤丸を見るだけで、
「何か壊した?」
「元に戻せる?」
「アトラス、どうしよう!」
となっていた。

しかし今回は違う。
アトラスが言う。
「まず、赤くなったStepを確認しましょう。」
そうだった。
赤丸は、
「全部ダメです」
と言っているわけではない。
どこで処理が止まったのかを教えてくれている。
GitHub Actionsを開いて、失敗したStepを見る。
エラーメッセージを確認する。
コードを修正する。
Commitする。
そして、もう一度実行する。
よし。
今度こそ。
🔴 Failure
「ひでぶっ!」
直しても、また赤い
もう一度確認する。
アトラスとコードを見る。
怪しそうなところを修正する。
再び実行。
🔴 Failure
「またか!」
さらに調べる。
修正する。
もう一度。
🔴 Failure
「ひでぶっ!!」

さすがにおかしい。
追加したコードの内容ばかり見ていたけれど、そこには決定的な間違いが見つからない。
そこで、もっと広く見ることにした。
問題が起きているStepを、頭から最後まで確認する。
そして、長いコードの末尾まで見た時だった。
犯人は、コードの末尾にいた
「あっ!」
見つけた。
本来なら、jq の処理が終わった次の行に、
echo "WordPress payload ready."
があるはずだった。
ところが、それが前の長い一行の末尾にくっついていた。
つまり、本来は別々の二行だったものが、一行になっていたのだ。
エラーには、
Could not open file echo
と出ていた。
今なら意味が分かる。
jq からすると、本来は次の命令であるはずの echo まで、自分に渡されたものとして解釈していたのだ。

どうしてこんなことになったのか。
たぶん、僕だ。
長い一行の一部分を書き換える時、アトラスは必要な箇所だけ変更するように説明してくれていた。
ところが僕は途中で、
「もう、この一行を丸ごと入れ替えた方が早いやん」
と思った。
古い一行を選択して、新しい一行をペーストした。
その時、おそらく次の行との間にある改行まで一緒に選択してしまった。
その結果、次の行が長い一行の後ろへ吸収された。
難解なプログラムの問題ではなかった。
僕のコピペだった。
……犯人、僕やん。
改行を直して、もう一度
原因が分かれば早い。
正しい位置で改行する。
保存。
Commit。
そして、GitHub Actionsをもう一度実行する。
画面を見ながら待つ。
今度はどうだ。
🟢 Success
「来たーーーー!!」

すぐにWordPressを確認した。
本文。
画像。
アイキャッチ。
カテゴリー。
パーマリンク。
そして今回追加した、
SEOタイトル。
メタディスクリプション。
ちゃんと入っている。
ついに出来た。
僕はWordPressの画面に向かって、もう一度、人差し指を出した。
「お前はもう、下書きされている。」
一発で成功しなくて、よかったのかもしれない
終わってから考えてみると、今回のエラー連発は悪いことばかりではなかった。
もし最初の一回でSuccessになっていたら、
「おお、出来た!」
で終わっていたと思う。
でも今回は何度も失敗した。
そのたびに、
GitHub Actionsを開く。
赤くなったStepを探す。
エラーログを読む。
コードへ戻る。
修正する。
Commitする。
もう一度実行する。
これを繰り返した。
おかげで、GitHub Actionsの操作そのものにかなり慣れた。
そして、もう一つ覚えた。
エラーが出た場所だけを凝視しても、原因が見つからないことがある。
そんな時は、
そのStepを頭から末尾まで見る。
特に長い一行を編集した後なら、
行の右端と、その次の行まで確認する。
今日の僕は、エラーのおかげでこれを覚えた。
赤丸の意味が変わってきた
少し前まで、GitHub Actionsで赤いFailureを見ると、
「YouはShock!」
だった。
でも今日、何度も赤丸を見ているうちに、少し感覚が変わってきた。
赤丸が出ても、
「さて、どのStepだ?」
と思えるようになってきた。
もちろん、まだコードを全部理解しているわけではない。
アトラスに教えてもらいながら進めている。
それでも、
「分からないから触れない」
から、
「分からないけど、どこで止まったか調べてみよう」
には変わってきた。
59歳レベル3。
いや、最近ちょっと上がってレベル3.7。
まだまだ知らないことだらけだけど、昨日まで出来なかったことが、一つずつ出来るようになっている。

一発で成功するのも嬉しい。
でも、失敗して、原因を探して、自分で復旧できた時には別の嬉しさがある。
今日の赤丸は、僕を止める敵ではなかった。
次に同じ場所で転ばないための、目印だったのかもしれない。
そして僕とアトラスの「指先一つでWordPress」への道――
ケンシロウロードは、まだ続く。
次に赤丸が出たら?
たぶん僕は、こう言う。
「アトラス、赤いの出た。」
そしてアトラスは、
「では、どのStepか見ましょう。」
と言うだろう。
その横で、りんはきっと何も言わない。
最初から全部分かっていたような顔をして。



コメント