私はJenkinsのパイプラインで糸くず処理をしたいと思っています。それはGroovy lintingでは十分ではないようです。Jenkinsのパイプラインをコマンドラインから埋めるにはどうすればいいですか?
どうすればいいですか?パイプラインスクリプトをリンティングのための2つの選択肢があるよう
私はJenkinsのパイプラインで糸くず処理をしたいと思っています。それはGroovy lintingでは十分ではないようです。Jenkinsのパイプラインをコマンドラインから埋めるにはどうすればいいですか?
どうすればいいですか?パイプラインスクリプトをリンティングのための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
でカール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。しかし、使いやすくなっています。
@BaummitAugenご助言ありがとうございます。このツールで問題を解決する方法を説明するために答えを修正しました。 – miyajan
今よく見えます、ありがとう。 (私のdownvote btw、私はこれに投票するドメインの知識が不足しています。) –
役立つ。私はdownvoteの理由は表示されません。 – sebkraemer
パイプラインリンターは、宣言型パイプラインでのみ機能することに注意してください。スクリプト化されたパイプラインはサポートされていません。 – Philip