半人前技術者の成長記

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

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

新Mac Book

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

no image

【PHP】アルファベット順に出力

PHPで、「A、B、C… という順を配列などを使わずにできるのか」という問題があり、調べた。 文字列をインクリメントする方法があるが、逆にデクリメントできないということがマニュアルを読んで分かった。 …

no image

XML::Simple

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

no image

EC-CUBEのプライマリキーの採番の仕組み

EC-CUBE Ver2.11のおすすめ商品の登録機能を調べた時に プライマリキーの採番をどうやっているのか、 気になったので調べた内容の備忘録。 まず、 html/admin/contens/rec …

no image

人工の心

人工無能で心を表現しようとした場合に何をしたらいいか. 今までは、人の心について研究されたことを参考にそれを再現するアルゴリズムを構築すれば、良いと思っていた. しかし、考え方を変えて適当なことを返す …

右上部広告