半人前技術者の成長記

挫折と妄想を膨らませながら成長するだろう技術者の日記

PHP Uncategorized バージョン管理

PhingでSSHする

投稿日:

サーバーへアプリケーションをリリースするために、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.xml

sshtest > main:

/home/username

BUILD FINISHED

Total time: 1.7562 second

次に、コマンドの実行結果を



  
    
    The present working directory is ${mypwd}
  

$ phing
Buildfile: /home/username/phing/build.xml

sshtest > 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.xml

sshtest > scp:

[scp] Copied 1 file(s) to ‘example.com’
合計 186456
-rw-rw-r– 1 username username 16 6月 2 13:00 test.txt
BUILD FINISHED

Total time: 2.8660 seconds

以上のことから、リモート側にログインしてリポジトリからソースコードを取得し、
自動でデプロイすることも可能と言える下調べができました。
次は、デプロイを行えるように書いてみたいと思います。
また、PHPのライブラリにAmazonのS3に接続用ライブラリもあるようなので、
バックアップなどのPHPでAmazonS3にファイルを転送するなども試してみたいと思います。

<参考>
http://www.hashbangcode.com/blog/using-ssh-and-scp-phing-603.html

pc

pc

-PHP, Uncategorized, バージョン管理
-, , ,

執筆者:

関連記事

no image

ownCloudをインストール

Amazon S3、Dropbox、Yahoo!ボックスなどのオンラインストレージサービスが最近多くなってきました。 容量制限、転送料などによる課金がある。 Dropboxのようなストレージを自前で

no image

クラスの宣言

新たなクラス(自分で作ったクラス)を作ることを「クラスを宣言する」と言う. クラスの宣言の仕方 class MyClass{ ・・・ } classは,予約語で,クラスの宣言の始まりを示す. *予約語 …

no image

LibXMLモジュールインストール

apt-get install libxml-libxml-perl でインストールされる. CPANコマンドでは、インストールできなかった. 参考サイト http://www.ibm.com/dev …

no image

PHPでファイルアップロード時に気をつける点

ファイルアップロード処理を作ることになったので、 ファイルサイズやファイルの形式以外に気をつける点が無いか、 気になったので調べた結果をまとめて置きます。 拡張子のチェック(アプリケーション) マジッ …

no image

CentOSにPHPUnitをインストール

CentOSにPHPUnitをインストールする手順の覚え書き。 まず、PHPUnitを取得先を追加する。 $ sudo pear config-set auto_discover 1 config-s …

右上部広告