kzen.dev
  • Pertanyaan
  • Tag
  • Pengguna
Notifikasi
Imbalan
Registrasi
Setelah Anda mendaftar, Anda akan diberitahu tentang balasan dan komentar untuk pertanyaan Anda.
Gabung
Jika Anda sudah memiliki akun, masuk untuk memeriksa pemberitahuan baru.
Akan ada hadiah untuk pertanyaan, jawaban, dan komentar tambahan.
Lebih
Sumber
Sunting
 Yash
Yash
Question

Bagaimana untuk memohon jenkins pipa Yang lain jenkins pipa B

Saya memiliki dua Jenkins pipa, let's mengatakan pipa A dan pipa B. saya ingin memohon pipa-A di pipa-B. Bagaimana saya bisa melakukan ini?

(pipa-A adalah subset dari pipa-B. Pipa-Yang bertanggung jawab untuk melakukan beberapa hal-hal rutin yang dapat digunakan kembali dalam pipa-B)

Saya telah menginstal Jenkins 2.41 di mesin saya.

49 2017-04-11T04:56:31+00:00 5
Mike P
Mike P
Pertanyaan edit 16 November 2018 в 4:27
Pemrograman
jenkins
jenkins-pipeline
jenkins-2
Matias Snellingen
Matias Snellingen
11 April 2017 в 8:44
2017-04-11T08:44:54+00:00
Lebih
Sumber
Sunting
#33238660

Sedikit tidak jelas jika anda ingin memanggil yang lain pipa script atau pekerjaan, jadi aku menjawab kedua:

Pipa script "beban" langkah akan mengeksekusi lainnya pipa script. Jika anda memiliki kedua script di direktori yang sama, anda dapat memuat seperti ini:

def pipelineA = load "pipeline_A.groovy"
pipelineA.someMethod()

Lainnya script (pipeline_a.groovy):

def someMethod() {
    //do something
}

return this

Pipa pekerjaan

Jika anda berbicara tentang mengeksekusi lain pipa pekerjaan, "membangun pekerjaan" langkah dapat mencapai hal ini:

build job: '<Project name>', propagate: true, wait: true

menyebarkan: Menyebarkan kesalahan

menunggu: Menunggu penyelesaian

Jika anda memiliki paramters pada pekerjaan, anda dapat menambahkan mereka seperti ini:

build job: '<Project name>', parameters: [[$class: 'StringParameterValue', name: 'param1', value: 'test_param']]
Matias Snellingen
Matias Snellingen
Jawaban edit 3 Mei 2018 в 3:54
48
0
Anda punya pertanyaan? Tambahkan di situs dan dapatkan jawabannya secara instan
id.kzen.dev
Solution / Answer
 Yash
Yash
30 Agustus 2017 в 9:52
2017-08-30T09:52:14+00:00
Lebih
Sumber
Sunting
#33238661

Berikut solusi yang bekerja untuk saya:

pipeline {
    agent
    {
        node {
                label 'master'
                customWorkspace "${env.JobPath}"
              }
    }

    stages 
    {
        stage('Start') {
            steps {
                sh 'ls'
            }
        }

        stage ('Invoke_pipeline') {
            steps {
                build job: 'pipeline1', parameters: [
                string(name: 'param1', value: "value1")
                ]
            }
        }

        stage('End') {
            steps {
                sh 'ls'
            }
        }
    }
}
36
0
Anda punya pertanyaan? Tambahkan di situs dan dapatkan jawabannya secara instan
id.kzen.dev
 papigee
papigee
4 Mei 2018 в 3:53
2018-05-04T03:53:51+00:00
Lebih
Sumber
Sunting
#33238662

Untuk menambah apa yang @matias-snellingen kata. Jika anda memiliki beberapa fungsi, kembali ini harus di bawah fungsi yang akan dipanggil dalam pipa utama script. Misalnya di :

def someMethod() {
   helperMethod1() 
   helperMethod2()
} 
return this 

def helperMethod1(){ 
   //do stuff
} 

def helperMethod2(){
  //do stuff
}

The someMethod() adalah salah satu yang akan dipanggil dalam pipa utama script

1
0
 IsaacE
IsaacE
18 Juli 2019 в 2:43
2019-07-18T14:43:24+00:00
Lebih
Sumber
Sunting
#33238663

Pilihan lain adalah untuk membuat paket, beban itu dan menjalankannya dari paket.

package name.of.package
import groovy.json.*

def myFunc(var1) {
return result
}

Daripada mengkonsumsi

@Library('name_of_repo')
import name.of.package.* 
utils = new name_of_pipeline()
// here you can invoke
utils.myFunc(var)

semoga membantu

0
0
Anda punya pertanyaan? Tambahkan di situs dan dapatkan jawabannya secara instan
id.kzen.dev
Michael COLL
Michael COLL
18 Oktober 2019 в 9:47
2019-10-18T09:47:05+00:00
Lebih
Sumber
Sunting
#33238664

Seperti yang disebutkan oleh @Matias Snellingen dan @Céline Aussourd, dalam kasus meluncurkan multibranch pekerjaan yang anda miliki untuk menentukan cabang untuk membangun seperti ini :

stage ('Invoke_pipeline') {
    steps {
        build job: 'pipeline1/master', parameters: [
        string(name: 'param1', value: "value1")
        ]
    }
}

Dalam kasus saya itu memecahkan masalah.

0
0
Tambahkan pertanyaan
Kategori
Semua
Teknologi
Budaya / Rekreasi
Kehidupan / Seni
Ilmu Pengetahuan
Profesional
Bisnis
Pengguna
Semua
Baru
Populer
1
Andrei Kalinin
Terdaftar 2 minggu yang lalu
2
Koroleva Ego
Terdaftar 1 bulan yang lalu
3
Star Lenon
Terdaftar 1 bulan yang lalu
4
Данил Жевнеров
Terdaftar 1 bulan yang lalu
5
Анна Литвиненко
Terdaftar 2 bulan yang lalu
Anda punya pertanyaan? Tambahkan di situs dan dapatkan jawabannya secara instan
id.kzen.dev
ID
JA
© kzen.dev 2023
Sumber
stackoverflow.com
di bawah lisensi cc by-sa 3.0 dengan atribusi