コミット後のフックはsvnのどのユーザーとして実行されます
-
06-07-2019 - |
質問
SYSTEMとして実行されているWindowsマシン上のApache。
post-commit.batにはどのユーザーとパスワードを使用する必要がありますか?
Webサーバー上の開発者バージョンでテストするためにコンテンツをディレクトリにコピーしようとしていますが、動作していないようです。
解決
フックスクリプトはサーバーによって起動されるので、対応するユーザー(SYSTEMのユーザー)が持っていることを確認するだけで済みます
- リポジトリへの読み取り/書き込みアクセス(すでにそうであるはずです)
- フックスクリプトへの読み取り/実行アクセス
スクリプトの実行内容によっては、たとえばログを作成する場合-一般に他のリソースにアクセスする場合など、さらに必要になる場合があります。おそらくあなたが遭遇した問題でしょう。
また、フックスクリプトが.batの場合、シェルを見つけるには COMSPEC
環境変数が必要です(Windows XPでこの問題が発生しました。これは主に設定が不適切だったためです)。この変数は通常、 C:\ Windows \ system32 \ cmd.exe
として定義されます。もちろん、 PATH
も非常に重要です。
誤解を招く可能性があることに注意してください。別のユーザーログインでスクリプトをテストすると、サーバーIDにはない別のアクセス権が与えられる可能性があります。
編集:バッチスクリプトの開始時に、 PATH
や COMSPEC
などの重要な環境変数を設定または展開できます。サーバーアカウントに何が含まれているかわかりません。たとえば、
SET ComSpec=%SystemRoot%\system32\cmd.exe
SET PATH=%PATH%;C:\Tools\SVN\svn-win32-1.4.6\bin
暗闇の中でサーバーのアカウントを変更しようとするよりも簡単な場合があります。
所属していません StackOverflow