在Jenkins中使用声明性linter

在Jenkins中使用声明性linter,jenkins,jenkins-pipeline,jenkins-cli,Jenkins,Jenkins Pipeline,Jenkins Cli,我一直在尝试使用 我可以在服务器上本地使用此声明性linter吗 我试着跑: declarative-linter < Jenkinsfile 我需要安装这个命令吗,还是应该在管道插件安装后自动安装 请告知。有三种与声明性linter进行交互的高级方法。您请求的特定集合是CLI,其中包含服务器本身上的特定子集。然后,您参考的文档将阅读如何使用Jenkins CLI生成命令 通常,服务器上的命令如下所示: java -jar jenkins-cli.jar [-s JENKINS_URL]

我一直在尝试使用

我可以在服务器上本地使用此声明性linter吗

我试着跑:

declarative-linter < Jenkinsfile
我需要安装这个命令吗,还是应该在管道插件安装后自动安装


请告知。

有三种与声明性linter进行交互的高级方法。您请求的特定集合是CLI,其中包含服务器本身上的特定子集。然后,您参考的文档将阅读如何使用Jenkins CLI生成命令

通常,服务器上的命令如下所示:

java -jar jenkins-cli.jar [-s JENKINS_URL] [global options...] command [command options...] [arguments...]
在服务器上运行时,可以使用localhost作为URL。
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...]
现在,我们替换特定于
声明性linter
的命令和参数。注意,我们使用的是特定于Linux的stdin语法

java -jar /var/cache/jenkins/war/WEB-INF/jenkins-cli.jar -s http://localhost:8080/ declarative-linter < /path/to/Jenkinsfile
java-jar/var/cache/jenkins/war/WEB-INF/jenkins-cli.jar-shttp://localhost:8080/ 声明性linter

这将允许通过jenkins服务器上的
jenkins cli
本地linting您的
jenkins文件。请注意,如果需要进行身份验证,则需要在命令的
[global options…]
部分的
声明性linter
之前和Jenkins URL参数之后替换
-auth username:password
-i/path/to/ssh_key

谢谢您的回答。运行此命令时,我得到:
错误:anonymous缺少总体/读取权限
。我还没有设法解决它。@Omri您也需要使用提升的权限运行它,即
sudo
@Omri,这通常在您不在Jenkins服务器上运行时发生。如果您确定您正在Jenkins服务器上运行,您仍然可以通过在命令中的
声明性linter
之前插入
-auth username:password
-i/path/to/ssh_key
来解决此问题。谢谢。现在它工作得很好!昨天我已经尝试使用
auth
参数,但由于我使用了
who-am-I
,因此没有起作用,如下所述:。
java -jar /var/cache/jenkins/war/WEB-INF/jenkins-cli.jar -s http://localhost:8080/ declarative-linter < /path/to/Jenkinsfile