人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

サクラインターネットでSVNでソース管理してますが、
SVNにコミットしたソースを、シェルかツールなどを1回実行すると、
SVNと本番ディレクトリのファイルを比較して、
新しければファイルを上書きする。ということがしたいです。
ツールなど、何か便利な方法があれば教えて下さい。
WEBアプリケーションでPHPで作ります。
PHPファイルやSmartyテンプレート、HTMLファイル、CSS、画像等をセットしたいです。
JAVAで使ってるANTのようなものが、PHPであるのか、自作しないといけないのか不明です。
よろしくお願い致します。


●質問者: nemutaiyo
●カテゴリ:インターネット ウェブ制作
✍キーワード:ant CSS HTML Java PHP
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● y-kawaz
●27ポイント

SVNで管理しているなら、本番サーバ上にチェックアウトして更新がある度に svn up を実行すれば良いのではないでしょうか?

開発は別ディレクトリかもしくはローカル環境にチェックアウトしてそこで行い、修正したらしたらSVNにcommitして、サーバ上で svn up をして本番に反映させるという手順です。

◎質問者からの返答

そうか! そんな簡単にできるのですね!

長い間うんうん考えていましたが、全く気づきませんでした。

ありがとうございます。

=================

と、試してみて気づいたのですが、

svn up するには、.svnディレクトリが必要(つまり事前にチェックアウトが必要)ですよね。

本番環境ではやはりそれはまずいので、

.svnが無い状態(SVN関連のファイルが無い状態)にしたいです。

そんなことできますか?


2 ● toshiwo
●27ポイント

Capistrano というデプロイツールを使ってみてはどうでしょうか?

http://www.capify.org/


このツールは、簡単に言うと下記のことをコマンド1つでほぼ全自動で行えるようになるツールです。


よくRuby on Railsと一緒に使われることが多く、Capistrano自体もRubyで作られていますが、希望されているようなPHPで作られたWebアプリケーションの更新処理を行うくらいであれば、少し設定をカスタマイズしてやれば十分可能です。


あとは、すでに書いてあるようにCapistranoはRubyで出来ているため、手元のCapistranoを実行するサーバ(恐らくSVNリポジトリがあるサーバ)にRubyをインストールしたりする必要はあります。

ですが、Capistranoを使うことで手間のかかる更新処理をほぼ自動化できてしまうメリットに比べればRubyのインストールとCapistranoの設定にかかる手間はすぐにでも取り返せると思います。

◎質問者からの返答

toshiwoさんありがとうございます。

Capistranoは初めて知りました。

紹介頂いたサイトやGoogleでいろいろ調べて見ましたが、便利そうです。が、今の私にはレベルが高そうなので、勉強してみて、運用上必要な機能の使い方を調べます。


3 ● y-kawaz
●26ポイント

1の回答の補足です。

確かにサーバ上にチェックアウトすると .svn ディレクトリが公開状態になってしまいますが、以下の内容の .htaccess をトップディレクトリに一つ置くだけで .svn ディレクトリにアクセスを禁止することが出来ます。

RewriteEngine on
RewriteRule (^|/)\.svn - [F]

この .htaccess も SVN 上に commit しておくと便利です。

◎質問者からの返答

.htaccessの設定まで書いて頂きありがとうございます。

実際に試してみて、できました。(SVN co するとき権限も変わらないので助かりました)

ありがとうございます。これで運用していきます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ