在Jenkins中使用declarative-linter

问题描述 投票:1回答:1

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

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

我试过跑:

declarative-linter < Jenkinsfile

得到了:

-bash: declarative-linter: command not found

我是否需要安装此命令,或者应该在Pipeline插件安装后自动安装?

请指教。

jenkins jenkins-pipeline jenkins-cli
1个回答
2
投票

有三种与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本地linting你的jenkins-cli。请注意,如果需要进行身份验证,则需要在-auth username:password之前和Jenkins URL的参数之后用命令的-i /path/to/ssh_key部分替换[global options...]declarative-linter

© www.soinside.com 2019 - 2024. All rights reserved.