Twitter botの テスト環境、本番環境
他のbot作成者の方がどのように、コード管理や、テストを行われているか知らないのですが、自分はこんな感じでやっていますというお話。
[Twitter アカウント]
通常自分が使っているアカウントの他に
1.botアカウント 本番用
2.botアカウント テスト用
3.テスト用アカウント x 2
の4種類のアカウントを利用しています。
そのうち 1,2のbotアカウントについては、OAuth対応のため、アプリケーション登録済み。
[ローカル/サーバー]
ローカル(自宅PC)
- OS:Windows Vista Ultimate SP2
- XAMPP Window版 1.7.2
- PHP 5.3.0
サーバー(さくらインターネット)
※本当は、自宅PCの環境を本番環境として利用しているさくらと PHPのバージョンやら何やら一致させた方が安全なのですが、そこまで、最先端なことをしていないし、大丈夫かな?とずるずるそのままでやっています。
ただ、実際のところは、自宅PC上と、サーバに上げた時で動作が違うことも発生するので、そこは、try & errorで潰すという泥臭い作業を行っています。
[コード管理]
本当はSVN等利用して、きっちり管理すると良いのですが、1世代以上前に戻る必要が生じたことも現時点は、無いので、大きな変更を行う前にごっそりバックアップを取っておく位で、通常は、稼働中、開発中の二世代を違うディレクトリに入れて、開発、テストが終わったら本番(稼働中)ディレクトリに移すという原始的管理中。
ローカル、サーバそれぞれに、開発中、稼働中の2種類のディレクトリが存在し
- ローカル 開発中ディレクトリでコード変更
- ローカル環境 開発中ディレクトリ&テスト・アカウントで テスト
- ローカル 開発中ディレクトリ ⇒ サーバ 開発中ディレクトリ に変更したphpファイルコピー
- サーバー環境 開発中ディレクトリ&テスト・アカウントで テスト
- テストが全てOKであれば ローカル 開発ディレクトリから ローカル、サーバの稼働中コード用ディレクトリに ファイルコピー
- サーバ環境 本番用ディレクトリのコード&本番アカウント で最終チェック
といった、感じに開発したコードのテストと本番への実装を行っています。(ていう程偉そうなものでもないですが)
なお、ユーザーの接続情報は、よく配布されているコードですと、プログラムにベタ書きですが、自分の場合は、プログラム本体とは別のファイルに入れて、開発ディレクトリには、テスト・アカウントの情報、本番用ディレクトリには、本番アカウントの情報をあらかじめ仕込んでいます。
こうしておくと、開発用のディレクトリにあるコードを実行すれば、テスト・アカウントで接続し、本番用のディレクトリ内のコードを実行すれば本番用アカウントでTwitterに接続できるので、開発⇒本番 で、アカウント情報を書き変える手間が省けます。*1