Cara mengatur PATH di Jenkins Declarative Pipeline

Dalam pipeline skrip Jenkins, Anda dapat mengatur variabel env PATH seperti ini:

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

Perhatikan PATH+MAVEN seperti yang dijelaskan di sini https://jenkins.io/doc/pipeline/steps/workflow-basic-steps/#code-withenv-code-set-environment-variables:

Daftar variabel lingkungan yang akan diatur, masing-masing dalam bentuk VARIABEL=nilai atau VARIABEL= untuk membatalkan variabel yang telah didefinisikan. Anda Anda juga dapat menggunakan sintaks PATH+WHATEVER=/something untuk menambahkan /something ke $PATH.

Tetapi saya tidak menemukan cara melakukannya dalam pipeline deklaratif menggunakan sintaks lingkungan (seperti yang dijelaskan di sini: https://jenkins.io/doc/pipeline/tour/environment).

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

Idealnya saya ingin memperbarui PATH untuk menggunakan alat khusus untuk semua tahapan saya.

Sebagai solusi, Anda dapat mendefinisikan variabel lingkungan dan menggunakannya dalam langkah sh:

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

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

Periksa tautan berikut ini, ini menjelaskan cara mengkonfigurasi alat Anda. Dengan menggunakan pipeline deklaratif, hal-hal menjadi sedikit berbeda tetapi secara keseluruhan lebih mudah dipahami.

declarative-maven-project

Komentar (0)

Menggunakan bagian tool di pipeline hanya diperbolehkan untuk Global Tools yang sudah diinstal sebelumnya. Beberapa tool disediakan oleh plugin, tetapi jika tidak ada, saya khawatir Anda tidak dapat menggunakan pengaturan lingkungan melalui deklarasi tool pipeline.

Saya berharap salah!

Komentar (1)