Использование декларативного линтера в Jenkins - PullRequest
0 голосов
/ 18 февраля 2019

Я пытался использовать Pipeline Linter из командной строки .

Могу ли я использовать этот декларативный линтер локально на сервере?

Я попытался запустить:

declarative-linter < Jenkinsfile

И получил:

-bash: declarative-linter: command not found

Нужно ли устанавливать эту команду или она должна быть установлена ​​автоматически после установки плагина Pipeline?

Пожалуйста, сообщите.

1 Ответ

0 голосов
/ 18 февраля 2019

Существует три высокоуровневых метода взаимодействия с declarative-linter.Конкретный набор, который вы запросили, - это CLI с определенным подмножеством на самом сервере.Документация, на которую вы ссылались, ссылается на документацию по CLI , чтобы прочитать, как формировать команды с помощью CLI Jenkins.

В общем, команда на сервере выглядит так:

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.Обратите внимание, что мы используем синтаксис stdin, специфичный для Linux.

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

Это позволит локально задерживать ваш Jenkinsfile через jenkins-cli на сервере Jenkins.Обратите внимание, что если вам нужно пройти аутентификацию, вам нужно заменить -auth username:password или -i /path/to/ssh_key в части [global options...] команды до declarative-linter и после аргумента для URL Jenkins.

...