Twitter APIから取得したツイートのテキストや画像を、WordPressのデータベースに挿入して、テーマ(twentyfifteenとか)に表示させるサービスをつくりたいと考えています。
複数のWordPress環境がほしい
そのためにはWordPressの構造を知る必要があります。ざっと思いついだけでもこんな感じ↓また実際にコアファイルやデータベースに触ることになるでしょう。
- ライブラリのTwitterOAuthをどこに配置するか
- Linuxのcrontabのような定期実行コマンドはどうするか
- APIで取得したデータをMySQLにどうやって挿入するか
ということは、単一のWordPressの開発環境を構築するだけでなく、複数の開発環境を構築しなければなりません。おそらく開発をしているうちに、何回も失敗するでしょうから。
問題はいかに早く失敗した環境を捨てて、新しい環境を作成できるかです。
単一の開発環境と複数の開発環境
WordPressの開発環境は、DockerベースのWockerを利用します。
単一のWordPress開発環境
WockerによるもっともオーソドックスなWordPress開発環境です。テーマを編集するという目的であれば、wockerディレクトリ内にあるWordPressを構成するフォルダ群に、子テーマか新しいテーマを入れるだけでよいでしょう。containerが一つあればいけるはず(Container 1)。
複数のWordPress開発環境
ですが、自分のやりたいことは複数の開発環境を構築することです。複数の開発環境でも、最終的にひとつのcontainerで、http://wocker.devの表示ができれば良いと考えています。こんなイメージです。
- ダメだと思ったらコンテナごと削除する(Conatainer1)
- ダメだと思っても残しておいて、http://wocker.devで表示させない(Conatainer2)
- 使えるので生かしておいて、http://wocker.devで表示させる(Conatainer3)
それぞれのコンテナに「スイッチ」を付けておいて、必要に応じて「ON・OFF」を切り替える、またそれぞれに「自爆装置」をつけておくといった感じでしょうか?
wockerディレクトリを削除する方法について
単一とか複数とかコンテナの数を考えるのではなく、開発環境が不要になったときは、wockerディレクトリごと削除してしまうという考え方もあります。
GitHubからwockerリポジトリをcloneしたときに、vagrant内で作成されるwockerディレクトリを、「アカン」と思ったときに丸ごとつぶしてしまうという手もありでしょう。
ただこの手はあまり使いたくありません。containerが使い分けられると、開発環境内のコードを比較することができるからです。
必要と思われるwockerコマンド
ここまでWordPressの開発環境について、考えていることを述べてきました。あとは実行あるのみ!
…なんですが、コンテナの操作について、いまいち自信がありません。自分がしたいことを考えると、次のコマンドが必要になると思います。
1.containerのストップ
core@wocker ~ $ wocker stop CONTAINER
2.containerの再スタート
core@wocker ~ $ wocker start CONTAINER
3.containerの削除
core@wocker ~ $ wocker rm CONTAINER
4.古いcontainerを維持しつつ新しいcontainerを作成
?
5.古いcontainerをストップさせて新しいcontainerをスタート
?
このうち、4と5がよく分かりません。さぁどうしたものか…。
追記 2015年8月19日
記事を公開したあとに、記事の内容についていくつかアドバイスをいただきました。以下のとおり加筆をいたします。
4.古いcontainerを維持しつつ新しいcontainerを作成
core@wocker ~ $ wocker run --name NEWCONTAINER
5.古いcontainerをストップさせて新しいcontainerをスタート
(NEWCONTAINERが出来上がっている前提)
core@wocker ~ $ wocker stop CONTAINER core@wocker ~ $ wocker start NEWCONTAINER
関係者のみなさま、アドバイスありがとうございます!
〔参考サイト〕