在 Jenkins 中记录 shellcheck 结果
Posted
技术标签:
【中文标题】在 Jenkins 中记录 shellcheck 结果【英文标题】:Record shellcheck findings in Jenkins 【发布时间】:2021-07-26 14:10:04 【问题描述】:我正在寻找一种方法来在我的 Jenkins 流水线脚本中记录 shellcheck 的违规结果。到目前为止,我找不到任何东西。对于其他工具(Java、Python),我使用的是Warnings Next Generation,但它似乎还不支持 shellcheck。我想在我的 Jenkins Job 仪表板中可视化违规行为。有没有人有这方面的经验?或者也许是一个现成的用于警告 NG 的自定义工具?
【问题讨论】:
我似乎记得 ShellCheck 能够输出 Checkstyle 报告,而 Jenkins 能够解析该报告(可能使用插件)。 【参考方案1】:我自己确实找到了一个可行的解决方案。就像 cmets 中建议的那样,拼写检查提供了 checkstyle 格式,可以使用警告 NG 对其进行解析和可视化。以下 Pipeline 阶段定义工作正常。
stage('Analyze')
steps
catchError(buildResult: 'SUCCESS')
sh """#!/bin/bash
# The null command `:` only returns exit code 0 to ensure following task executions.
shellcheck -f checkstyle *.sh > shellcheck.xml || :
"""
recordIssues(tools: [checkStyle(pattern: 'shellcheck.xml')])
运行构建会生成一个漂亮的趋势图,如下所示。
【讨论】:
以上是关于在 Jenkins 中记录 shellcheck 结果的主要内容,如果未能解决你的问题,请参考以下文章
所有没有扩展名的文件的shellcheck vscode“shellcheck.ignorePatterns”