我一直在尝试使用Command-line Pipeline Linter。
我可以在服务器上本地使用此声明式填充符吗?
我尝试运行:
declarative-linter < Jenkinsfile
得到了:
-bash: declarative-linter: command not found
我是否需要安装此命令,或者应该在安装Pipeline插件后自动安装该命令?
请告知。
答案 0 :(得分:1)
有三种与declarative-linter
进行交互的高级方法。您请求的特定组是CLI,以及服务器本身的特定子集。然后,您参考的文档引用了the CLI documentation,以了解如何使用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...]
现在,我们替换为declarative-linter
专用的命令和参数。请注意,我们使用的是Linux专用的stdin语法。
java -jar /var/cache/jenkins/war/WEB-INF/jenkins-cli.jar -s http://localhost:8080/ declarative-linter < /path/to/Jenkinsfile
这将允许通过Jenkins服务器上的Jenkinsfile
对jenkins-cli
进行本地更新。请注意,如果您需要进行身份验证,则需要在-auth username:password
之前和Jenkins URL的参数之后的命令-i /path/to/ssh_key
中用[global options...]
或declarative-linter
替换。