半人前技術者の成長記

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

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

Simple tweetをインストール

WordPressにSimple Tweetをインストールしてみました。 取りあえず、試し投稿。 これでできたら、設定は簡単だな。

no image

新Mac Book

新しいMac Bookが出た! 今,会社支給のMac Bookを使っているが,重い! 新しいMac Bookは,約500gほど軽くなって2kgだそうです. ちょっと厚い本1冊分くらいは軽くなったかな. …

no image

XML::Simple

sample code #!/usr/bin/perl -w use XML::Simple; use strict; my $dog_name = XML::Simple->new->X …

no image

Macでランダムな文字列を生成

個人的な備忘録として、 パスワードなどを設定する時に、Macのターミナルでランダムな文字列生成するコマンド。 $ cat /dev/urandom | LC_CTYPE=C tr -dc &#8216 …

no image

Apacheのmod_rewriteのインストール

cakePHPを使おうとしたら、mod_rewriteが入って無かったのでubuntu 10.04でのmod_rewriteをインストール方法。 [ 手順1 ] $ sudo a2enmod rewr …

右上部広告