2017-06-22 63 views

回答

2

看起來像有用於掉毛管道腳本兩種選擇,一是通過對領導者的CLI或HTTP POST電話:

通過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 

通過HTTP POST掉毛使用捲曲

# 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 

https://jenkins.io/doc/book/pipeline/development/#linter

+2

請注意,管道linter僅適用於聲明式管道。腳本管道不受支持。 – Philip

0

在除了kongkoro的回答之外,還有一個工具可以將Jenkinsfile粘上。

https://www.npmjs.com/package/jflint

# install 
$ npm install -g 

# usage 
# JENKINS_URL=[root URL of Jenkins master] 
$ jflint -j $JENKINS_URL Jenkinsfile 

的jflint做什麼是相同the official document捲曲,並jflint只有聲明管線太工作。但它更易於使用。

+0

@BaummitAugen感謝您的建議。我修復了我的答案,以解釋如何通過該工具解決問題。 – miyajan

+0

現在看起來好多了,謝謝。 (不是我downvote順便說一句,我缺乏領域知識投票在此。) –

+0

有幫助。我沒看到downvote的原因。 – sebkraemer