当ブログの仕組み

以前にも書きましたが、当ブログはこんな感じでできています。

  • ローカルで記事作成
  • GitにPush
  • Publicフォルダの内容をFTP-Deploy-Actionがさくらへアップロード

最後のところは、こちらの記事で書いています。

天才現る

FTP-Deploy-Actionでエラー発生

要因

原因まで特定できていないのと、特定するのが面倒なのと、今から特定するのはほぼ不可能(いろいろやってしまった)ということで、エラーが出るようになった要因と思われるものを挙げておきます。

  1. ローカル環境が2つあり、古い環境のほうでPullする前にPushした
  2. その際、記事のタグ付けをミスっていた(関係無いかな)
  3. サーバー側のファイルを直接削除した

一番怪しいのは1なんですけど、もうよく分かりません。

ネット調査と対策

最新版に上げてみよう!というのがありましたけど、残念ながら最新版なんですわ。

エラー内容としては、「FTPError: 550」で、「ファイルが無いよ!」というもの。
たしかにサーバー側のファイルを直接削除したので、言っていることは合っています。

試しに怒られたファイルをサーバーに作ってみましたら、そのファイルはクリアしました。
但し、次のファイルで「無いよ!」とまた怒られました。

消したファイルはある程度把握しているので、いくつか擬似的にファイルを作成して再試行してみたんですが、毎回最初のファイルから無いと言われることに気付きました。
ちょっとずつ片付けていく作戦は使えず、削除した全ファイルをサーバーに作ってから再試行しないと意味が無いようです。

やってられん

全部覚えていないし。

解決

元に戻したら直りました。

Gitならではの解決。

  • git log で、過去のバージョンを眺めて、問題が発生していなかったころのIDを確認
  • git checkout hoge(良かった頃のID) * で、そのバージョンに巻き戻し

これをしてから再度デプロイしたらエラーが出なくなりました。

あぁ、びっくりした。