Jenkins Declarative PipelineにおけるPATHの設定方法

Jenkinsのスクリプトによるパイプラインでは、PATH環境変数を次のように設定できます。

node {
   git url: 'https://github.com/jglick/simple-maven-project-with-tests.git'
   withEnv(["PATH+MAVEN=${tool 'M3'}/bin"]) {
      sh 'mvn -B verify'
   }
}

ここで説明されている PATH+MAVEN に注意してください https://jenkins.io/doc/pipeline/steps/workflow-basic-steps/#code-withenv-code-set-environment-variables:

設定する環境変数のリストで、それぞれの形式は VARIABLE=値」または「VARIABLE=」で定義されている変数の設定を解除します。また PATH+WHATEVER=/something という構文を使って、/something を $PATH に追加することもできます。 を$PATHに追加します。

しかし、環境構文を使って宣言型パイプラインで行う方法は見つかりませんでした(ここで説明されています:https://jenkins.io/doc/pipeline/tour/environment)。

environment {
    DISABLE_AUTH = 'true'
    DB_ENGINE    = 'sqlite'
}

理想的には、すべてのステージでカスタムツールを使用するためにPATHを更新したいと考えています。

回避策として、環境変数を定義し、それをshステップで使用することができます。

pipeline {
    environment {
        MAVEN_HOME = tool('M3')
    }

    stages {
        stage(Maven') {
           sh '${MAVEN_HOME}/bin/mvn -B verify'
        }
    }
}
解説 (0)

以下のリンクでは、ツールの設定方法が説明されています。 宣言型パイプラインを使用すると、少し異なる点がありますが、全体的に理解しやすくなります。

declarative-maven-projectを参照してください。

解説 (0)

パイプラインでのツールセクションの使用は、あらかじめインストールされているグローバルツールに対してのみ可能です。一部のツールはプラグインで提供されていますが、それがない場合は残念ながらpipelineのツール宣言による環境設定は使用できません。

間違っているといいのですが...。

解説 (1)