我一直在尝试使用命令行管线linter。
我可以在服务器上本地使用此声明级限制吗?
我尝试了运行:
declarative-linter < Jenkinsfile
并得到:
-bash: declarative-linter: command not found
我需要安装此命令,还是在安装管道插件后自动安装它?
请建议。
与declarative-linter
相互作用有三种高级方法。您要求的特定集是CLI,其中服务器本身的特定子集。您引用的文档,然后引用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...]
现在,我们代替命令和特定于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 Server上的jenkins-cli
局部Jenkinsfile
局部覆盖。请注意,如果您需要进行身份验证,则需要在declarative-linter
之前的[global options...]
部分中替换-auth username:password
或-i /path/to/ssh_key
。