在 Jenkins 中使用声明式 linter

Using declarative-linter in Jenkins

我一直在尝试使用 Command-line Pipeline Linter

我可以在服务器本地使用这个声明式 linter 吗?

我试过了运行:

declarative-linter < Jenkinsfile

并得到:

-bash: declarative-linter: command not found

我需要安装这个命令还是应该在安装 Pipeline 插件后自动安装?

请指教

存在三种与 declarative-linter 交互的高级方法。您请求的特定集合是 CLI,在服务器本身上具有特定的子集。您引用的文档然后引用 the CLI documentation 以阅读如何使用 Jenkins CLI 形成命令。

一般来说,服务器上的命令是这样的:

java -jar jenkins-cli.jar [-s JENKINS_URL] [global options...] command [command options...] [arguments...]

当运行在服务器上时,你可以为URL使用localhost。 jenkins-cli 的完整路径也有助于确保安全(下面显示的示例适用于 RedHat 系列)。请注意,如果您为服务器使用证书,则应使用下面的 https

java -jar /var/cache/jenkins/war/WEB-INF/jenkins-cli.jar -s http://localhost:8080/ [global options...] command [command options...] [arguments...]

现在我们替换特定于 declarative-linter 的命令和参数。请注意,我们正在使用特定于 Linux.

的标准输入语法
java -jar /var/cache/jenkins/war/WEB-INF/jenkins-cli.jar -s http://localhost:8080/ declarative-linter < /path/to/Jenkinsfile

这将允许通过 Jenkins 服务器上的 jenkins-cli 对您的 Jenkinsfile 进行本地检查。请注意,如果您需要进行身份验证,则需要在命令的 [global options...] 部分中的 declarative-linter 之前和 Jenkins [=] 的参数之后替换 -auth username:password-i /path/to/ssh_key 35=].