Jenkins Blueocean. Есть Ли Инструмент, Позволяющий Проверять Файлы Jenkins В Интернете?

  • Автор темы Rumynecyt
  • Обновлено
  • 21, Oct 2024
  • #1

В настоящий момент я редактирую файл Jenkins, а затем запускаю его, если Дженкинс не сообщит о проблеме. Такой подход требует много времени. Я предпочитаю проверять синтаксис перед фиксацией файла Jenkins. Есть ли инструмент, который решает эту проблему?

В гитлаб есть URI, т.е. /ci/lint that makes it possible to submit a gitlab file, click on the check button and then the UI will indicate whether the syntax is correct or not.

#jenkins-blueocean

Rumynecyt


Рег
08 Nov, 2004

Тем
76

Постов
198

Баллов
598
  • 25, Oct 2024
  • #2

Вот некоторая документация по линтеру конвейера Jenkins и его командам. Вам нужно подтвердить до коммит? В противном случае было бы очень просто запустить команду проверки до запуска вашего конвейера и просто потерпеть неудачу, если она не пройдет.

От Конвейерный линтер командной строки:

Дженкинс может проверить или «проверить» декларативный конвейер из командную строку перед ее фактическим запуском. Это можно сделать с помощью Команда Jenkins CLI или выполнив запрос HTTP POST с соответствующим

 
 
 
 
 
 ssh -p 8675 localhost declarative-linter < ./Jenkinsfile
Jenkinsfile successfully validated.
 

параметры. Мы рекомендовали использовать pipeline { agent any stages { stage ('Initialize') { steps { echo 'Placeholder.' } } } }

agent

SSH-интерфейс

запустить any , one that is missing part of the Jenkinsfile

линтер. См.

# pass a Jenkinsfile that does not contain an "agent" section ssh -p 8675 localhost declarative-linter < ./Jenkinsfile Errors encountered validating Jenkinsfile: WorkflowScript: 2: Not a valid section definition: "agent". Some extra configuration is required. @ line 2, column 3. agent ^ WorkflowScript: 1: Missing required section "agent" @ line 1, column 1. pipeline &#125; ^

Документация Jenkins CLI

pipeline { agent stages { stage ('Initialize') { steps { echo 'Placeholder.' } } } }

для получения подробной информации о том, как agent has been updated to include the missing Jenkinsfile # curl (REST API) # Assuming "anonymous read access" has been enabled on your Jenkins instance. # JENKINS_URL=[root URL of Jenkins master] # JENKINS_CRUMB is needed if your Jenkins master has CRSF protection enabled as it should JENKINS_CRUMB=`curl "$JENKINS_URL/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,\":\",//crumb)"` curl -X POST -H $JENKINS_CRUMB -F "jenkinsfile=<Jenkinsfile" $JENKINS_URL/pipeline-model-converter/validate . The linter now reports that the Pipeline is valid.

правильно настройте Jenkins для безопасного доступа к командной строке.

curl

Линтинг через CLI с SSH

# ssh (Jenkins CLI) # JENKINS_SSHD_PORT=[sshd port on master] # JENKINS_HOSTNAME=[Jenkins master hostname] ssh -p $JENKINS_SSHD_PORT $JENKINS_HOSTNAME declarative-linter < Jenkinsfile
 

Koutchaevigor


Рег
11 Apr, 2020

Тем
82

Постов
163

Баллов
613
Похожие темы Дата
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно