1

Jenkins ジョブでは、次のようなシェル コマンドを実行するビルド ステップがあります。

rm -rf /var/www/www.example.com/* 
find . \( -not -path '*/.svn/*' \) -exec cp -rv {} /var/www/www.example.com \;

ただし、 .../classes/.svn/props などのフォルダー内のファイルは常にコピーされます。

find コマンドのマニュアルを確認したところ、コマンドの形式が正しいようです。では、なぜ機能しないのでしょうか。また、最後にセミコロンを置く目的は何ですか? これをどこかからコピーしました:-)

私はこれに数時間を費やしましたが、まだうまくいかず、とても苦痛です。おそらくrsyncを使用する方が良い選択です。

4

1 に答える 1

1

find コマンドで .svn ディレクトリを無視していますが、その後、ディレクトリの再帰的なコピーを行うため、ディレクトリに .svn ディレクトリが含まれている場合でもコピーします。(また、コマンドは多くの複製コピーを実行します)

svn ファイルを除くディレクトリをコピーするための多くのオプションがあります - あなたの場合、私は -r.

上記がうまくいかない場合は、Google の「svn ディレクトリなしでファイルをコピー」して、さまざまなオプションを試してください。

于 2013-05-01T09:21:58.307 に答える