0

Subversion と post-commit スクリプトを使用して PHP アプリケーションをデプロイしようとしています。コミット後のスクリプトを作成する方法を探していましたが、機能させることができません。

構成:サーバー(OVH)にsvnフォルダーがインストールされていますhomeX.XX/svn/test/

コミット後のスクリプトは EXPORT する必要があります homeX.XX/dev/

使用時の正しいパスの書き方がわかりません

#!/bin/bash
mkdir dev
chmod 777 dev
svn export svn+ssh://XXXXX@www.xxxx.com/homeX.XX/XXX/svn/test dev

私の POST-COMMIT スクリプトで。私は答えを探していましたが、何も見つかりませんでした...

4

1 に答える 1

1

SVNのドキュメントから(here):

Subversion リポジトリは、空の環境でフック プログラムを実行します。つまり、環境変数はまったく設定されておらず、$PATH も設定されていません。

私はこの問題に何度か悩まされてきました。基本的に、SVN コミット フックを記述する最も簡単な方法は、必要なすべてのファイルとディレクトリを絶対パスとしてハードコーディングすることです。

したがって、この場合、スクリプトは次のようになります。

#!/bin/bash

# SVN-related variables
svnuser=XXXXX
svnhost=www.xxxx.com
svnpath=/homeX.XX/XXX/svn/test

# Local paths
exportpath=/homeX.XX/dev

# Make export dir if it does not exist
if [ ! -e "$exportpath" ]
then
    mkdir $exportpath
fi

# These permissions are very lenient! Are you sure you want this?
chmod 777 $exportpath

# Do the SVN export
export svn+ssh://$svnuser@$svnhost$svnpath $exportpath
于 2011-03-01T12:07:27.610 に答える