5

現在、Jenkins でビルドを実行していますが、コンソール出力に表示されるのは次のとおりです。

Started by user anonymous
Building in workspace /var/lib/jenkins/workspace/Main
Checkout:Main / /var/lib/jenkins/workspace/Main - hudson.remoting.LocalChannel@820ea4
Using strategy: Default
Cloning the remote Git repository
Cloning repository origin

これはおそらく、Git プロセスがまだ出力ストリームをフラッシュしていないためだと理解しています。しかし、ターミナルgit cloneからa を実行すると、リアルタイムで更新されたパーセンテージが明確に表示され、コマンドがどれだけ完了しているかがわかるため、イライラします。

次の点を除けば、それほど重要ではありません。

  1. すぐにこのマシンをシャットダウンする必要があります。
  2. この特定のレポのクローンには長い時間がかかります (1 時間以上など)。
  3. したがって、クローンがたとえば 90% の場合は、終了させたいと考えています。50% 以上の場合は、ビルドを強制終了して、午前中に最初からやり直したいと思います。

私が切望する情報をどうにかして入手できるかどうか、誰か知っていますか?

4

2 に答える 2

2

clone を検索し、git バージョンをチェックして --progress フラグを渡すかどうかを確認します。ビルドがすでに進行中の場合、できることはあまりありませんが、今後の参考のためにこれが役立つ場合があります。

--progress
       Progress status is reported on the standard error stream by default
       when it is attached to a terminal, unless -q is specified. This
       flag forces progress status even if the standard error stream is
       not directed to a terminal.
于 2012-05-30T12:34:00.823 に答える
0

同様の症状が見られ、Jenkin の Git プラグイン clone() メソッドでワークスペースを再帰的に削除したことが原因であることがわかりました (以下のコード スニペットを参照)。私の場合、1 つのカスタム ワークスペースを共有する多数のジョブがあるため、削除の呼び出しが完了するまでに数時間かかりました。カスタム ワークスペースを削除した後、クローン操作は正常に完了しました。

https://github.com/jenkinsci/git-plugin/blob/master/src/main/java/hudson/plugins/git/GitAPI.javaから:

final String source = remoteConfig.getURIs().get(0).toPrivateString();

listener.getLogger().println("Cloning repository " + source);
final int[] gitVer = getGitVersion();

try {
    workspace.deleteRecursive();  // This line was taking forever
} catch (Exception e) {
    e.printStackTrace(listener.error("Failed to clean the workspace"));
    throw new GitException("Failed to delete workspace", e);
}

(これは前の回答に対するコメントである必要がありますが、まだコメントする担当者がいません。)

于 2012-10-22T14:20:24.477 に答える