我现在有一个在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
,那么我可以清楚地看到实时更新的百分比,告诉我该命令的完成程度。
除了:
之外并不重要有人知道是否有可能以某种方式得到我渴望的信息?
答案 0 :(得分:2)
搜索克隆并查看它检查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.
答案 1 :(得分:0)
我看到了类似的症状,我发现它是由Jenkin的Git插件clone()方法中的工作区的递归删除引起的(请参阅下面的代码片段)。就我而言,我们有许多共享一个自定义工作区的作业,因此删除调用需要数小时才能完成。删除自定义工作区后,克隆操作成功完成。
来自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);
}
(这应该是对前一个答案的评论,但我还没有代表发表评论。)