2017-06-22 7 views

答えて

2

はルックス、リーダーでCLIまたはHTTP POST呼び出しを介して1:

HTTP POSTを経由してリンティング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 

でCLIを経由してリンティングを使用して

# 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

パイプラインリンターは、宣言型パイプラインでのみ機能することに注意してください。スクリプト化されたパイプラインはサポートされていません。 – Philip

0

でカールkongkoroさんの答えに加えて、Jenkinsfileの糸を詰めるツールがあります。

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

# install 
$ npm install -g 

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

the official documentでカールと同じであり、かつ唯一あまりにも宣言型のパイプラインで動作しますjflint。しかし、使いやすくなっています。

+0

@BaummitAugenご助言ありがとうございます。このツールで問題を解決する方法を説明するために答えを修正しました。 – miyajan

+0

今よく見えます、ありがとう。 (私のdownvote btw、私はこれに投票するドメインの知識が不足しています。) –

+0

役立つ。私はdownvoteの理由は表示されません。 – sebkraemer

関連する問題