サーバーへアプリケーションをリリースするために、Capistranoを使っている。
ただ、Rubyに詳しくないので何か問題が発生した場合に対処できない可能性が高い。
そこで、PHPベースのPhingを試してみました。
基本は、SSH、リポジトリへのアクセスできることが、最低限の要件です。
PHPのsshライブラリをインストール
# yum install –enablerepo=remi php-pecl-ssh2
# yum install –enablerepo=remi php-pear-phing
$ phing -version
Phing 2.5.0
SSHでログイン
作成したbuild.xmlは以下の通りです。
SSHでログインし、pwdコマンドを実行します。
実行結果は、以下のようになります。
$ phing
Buildfile: /home/username/phing/build.xmlsshtest > main:
/home/username
BUILD FINISHED
Total time: 1.7562 second
次に、コマンドの実行結果を
The present working directory is ${mypwd}
$ phing
Buildfile: /home/username/phing/build.xmlsshtest > main:
[echo] The present working directory is /home/hiro
BUILD FINISHED
Total time: 0.8402 seconds
SCPでファイル転送
先ほどのSSHを実行するのに加え、SCPでファイル転送し、リモート側のlsの結果を取得し、表示する場合のbuild.xmlは以下の通りです。
The present working directory is ${mypwd}
以下が、上記のXMLの実行結果になります。
$ phing scp
Buildfile: /home/hiro/phing/build.xmlsshtest > scp:
[scp] Copied 1 file(s) to ‘example.com’
合計 186456
-rw-rw-r– 1 username username 16 6月 2 13:00 test.txt
BUILD FINISHEDTotal time: 2.8660 seconds
以上のことから、リモート側にログインしてリポジトリからソースコードを取得し、
自動でデプロイすることも可能と言える下調べができました。
次は、デプロイを行えるように書いてみたいと思います。
また、PHPのライブラリにAmazonのS3に接続用ライブラリもあるようなので、
バックアップなどのPHPでAmazonS3にファイルを転送するなども試してみたいと思います。
<参考>
http://www.hashbangcode.com/blog/using-ssh-and-scp-phing-603.html