当前位置: 首页 > 知识库问答 >
问题:

Jenkins“控制台输出”日志在文件系统中的位置

薛宇
2023-03-14

我想访问和grep Jenkins控制台输出,作为创建此输出的同一个作业中的后期构建步骤。使用

建造:

echo "This is log"

构建后步骤:

grep "is" path/to/console_output

文件系统中创建的特定日志文件在哪里?


共有3个答案

章绪
2023-03-14

您可以安装这个Jenkins控制台日志插件,作为构建后的一个步骤,在您的工作区中编写日志。

您必须自己构建插件并手动安装插件。

接下来,您可以添加如下的后期构建步骤:

通过额外的构建后步骤(shell脚本),您将能够grep您的日志。

我希望有帮助:)

洪弘亮
2023-03-14

詹金斯将控制台日志存储在master上。如果您希望对日志进行编程访问,并且您正在master上运行,那么您可以访问Jenkins已经拥有的日志,而无需将其复制到工件或获取http作业URL。

从…起http://javadoc.jenkins.io/archive/jenkins-1.651/hudson/model/Run.html#getLogFile(),这将返回控制台输出的文件对象(在jenkins文件系统中,这是build output目录中的“log”文件)。

在我的例子中,我们使用链式(子)作业对父作业的构建进行解析和分析。

在Jenkins中运行groovy脚本时,会得到一个名为“build”的对象。我们用这个来获取http://javadoc.jenkins.io/archive/jenkins-1.651/hudson/model/Build.html对于上游作业,则调用此作业的。getLogFile()。

增加了额外的好处;因为它只是一个文件对象,所以我们调用. get家长()来获取Jenkins存储的构建抵押品的文件夹(如测试xmls、环境变量和其他可能不会通过工件显式公开的东西),我们也可以解析这些抵押品。

双倍的额外奖励;我们也使用矩阵作业。这有时会使推断系统上的文件路径变得很痛苦。. getLogFile(). get家长()消除了所有的痛苦。

姬旭
2023-03-14

@布鲁诺·拉维特(Bruno Lavit)给出了一个很好的答案,但如果你愿意,你可以访问日志并将其作为txt文件从工作的URL下载到你的工作区:

${BUILD_URL}/consoleText

然后只需将此页面下载到您的${Workspace}

  • 您可以使用调用ANT并使用GET目标
  • 在Linux,您可以使用wget将其下载到您的工作区
  • 等等

祝你好运

编辑:文件系统上的实际日志文件不在从机上,而是保存在主机上。你可以在下面找到它:$JENKINS_HOME/jobs/$JOB_NAME/builds/lastsucessfulbuild/log

如果您正在寻找另一个版本,只需将lastSuccessfulBuild替换为您正在寻找的版本即可。

 类似资料:
  • 问题内容: 我想在创建此输出的同一作业中作为构建后步骤访问和grep Jenkins控制台输出。使用重定向日志不是解决方案,因为我的构建步骤不支持此操作。 建立: 发布构建步骤: 在文件系统中创建的特定日志文件在哪里? 问题答案: @Bruno Lavit有一个很好的答案,但是如果您愿意,您可以访问日志并将其作为txt文件从作业的URL下载到您的工作空间: 然后,只需将该页面下载到您的 您可以使用

  • 问题内容: 我正在遵循有关如何使用Jenkins签署Android APK的准则。我已经用KSTOREPWD和KEYPWD参数化了Jenkins的工作。Jenkins的工作配置(“构建”->“执行”外壳)的一部分是获取这些参数并将其存储为环境变量: 问题是当构建结束时,任何人都可以访问构建“控制台输出”并查看输入了什么密码;该输出的一部分: 因此,我想在命令输出之前抑制回声,并在命令之后重新启用回

  • 问题内容: 我使用的是Jenkins Active Directory插件,经过几次尝试后无法登录。错误消息显示: 在哪里可以找到服务器控制台输出(在本地文件系统上)? 我认为可以从Jenkins网页上访问它,但是由于我无法登录,因此没有太大用处。我 可以 登录到安装了Jenkins的(Windows)服务器- 它们在服务器上的什么位置? 问题答案: Jenkins无法访问您要查找的控制台输出。如

  • 问题内容: 我创建了一个复杂的管道。在每个阶段,我都叫工作。我想在Jenkins的某个阶段中查看每个作业的控制台输出。如何获得? 问题答案: 从构建步骤返回的对象可用于查询日志,如下所示: 从构建步骤返回的对象是RunWrapper类对象。getRawBuild()调用返回一个Run对象- 除了从此类的外观逐行读取日志之外,还有其他选择。为此,您需要禁用管道沙箱或获取这些方法的脚本批准: 如果要对

  • 本文向大家介绍springboot使用Logback把日志输出到控制台或输出到文件,包括了springboot使用Logback把日志输出到控制台或输出到文件的使用技巧和注意事项,需要的朋友参考一下 一:日志: 1、配置日志级别 日志记录器(Logger)的行为是分等级的。如下表所示: 分为:OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL 默认情况下,spring boot

  • 问题内容: 我正在使用hibernate3,并希望阻止它将所有启动消息转储到控制台。我尝试注释掉log4j.properties中的stdout行,但是没有运气。我在下面粘贴了我的日志文件。另外,我在标准项目结构中使用eclipse,并且在项目文件夹的根目录和bin文件夹中都有一个log4j.properties副本。 问题答案: 尝试设置更合理的日志记录级别。日志级别设置为仅记录在事件的装置或更