新しいホストへの移行と、Server 2k8ボックスからServer 2012ボックスへの移行の両方を行っています。問題のサーバーには、サイトといくつかのユーティリティを保持するドライブがいくつかあります。これらのドライブは移動中に正確に複製されました。データ、フォルダ構造、および権限はすべて同じである必要があります。
最近、このサーバーでJenkinsタスクを実行すると、ログで次のことがわかりました。
G:\ Websites\PathToWebsite> G:\ Jenkins\Tools\7z a -tzip Website_PROD_Backup_20140311_.Zip
7-Zip [64] 9.20 Copyright(c)1999-2010 Igor Pavlov 2010-11-18
エラー:7-Zipはアーカイブで動作するコードを見つけることができません。
7-Zipがサーバーにインストールされていて、GUIから実行しようとしているアクションを実行できます。私は開発者であり、このような問題のトラブルシューティングに慣れていません。また、特定のエラーが発生したためにGoogleが解決策を提示していません。
私が見つけることができる最も近い一致は、コマンドラインツールが150K未満の場合、いくつかの.dllファイルを必要とすると言うサイトです。上記の参照パスでツールを見つけましたが、150Kを超えていました。とにかく、.dllファイルをインストールディレクトリからそのディレクトリにコピーしました。これで問題は解決しませんでした。
これを修正するにはどうすればよいですか?コマンドラインから作業するには7-Zipが本当に必要です。そうしないと、ビルド/展開プロセスの重要な部分を手動で行う必要があります。
7-Zipコマンドラインバージョンがインストールされていることを確認してください。 GUIとは別のものです。ここからダウンロードできます:
このエラーのもう1つの理由は、7z.exeはあるが7z.dllがない場合です-コマンドラインプログラムが正しく動作するには両方が必要です。通常の7-Zip GUIインストールフォルダーからこれら2つのファイルをコピーするだけで、CIのコマンドラインプログラムのポータブルバージョンを作成できます。
バッチファイルで、exeへのパスを設定します。そうしないと、バッチプログラムは、exeがどこにあるかを認識できません。 exeがc:\ Prog〜1 files\bin\7Zip.exeにある場合
パスをc:\ Prog〜1 files\bin \に設定します
Powershellスクリプトから '。\ 7z.exe'を実行すると同様の問題が発生しました。問題は、7z.exeの。\ 'ローカルフォルダー'コピーが現在コンピューターにインストールされているバージョンより古いバージョンであるということでした。問題を修正するために、スクリプトが使用していたローカルフォルダーに新しい7z.exeおよび7z.dllファイルをコピーしました。
上記と同じエラーメッセージが表示されました。 Windows\System32ディレクトリから7z.exeを削除して問題を解決しました(管理者として7-Zipをインストールすることでそこに配置されましたか?)。