Plugin Jenkins Build Flow mengalami kesulitan meneruskan parameter antar build

Saya memiliki satu set build berparametri di Jenkins yang untuk membangunnya saya harus mengklik 'Bangun Sekarang' dan kemudian memasukkan nilai untuk parameter tersebut (dalam hal ini disebut GIT_TAG_NAME). Saya ingin memicu serangkaian build berparametri yang semuanya menggunakan parameter yang sama tanpa mengetikkannya berkali-kali.

Saya mencoba membuatnya berfungsi dengan Plugin Build Flow (https://wiki.jenkins-ci.org/display/JENKINS/Build+Flow+Plugin), dengan membuat aliran build master yang memicu semua build lainnya, tapi saya tidak memahami sintaks plugin, atau mungkin ini tidak mungkin.

DSL saya terlihat seperti:

out.println "-------------------------" 
out.println 'Building all OTA builds at tag: '
out.println params["GIT_TAG_NAME"]
out.println "-------------------------"

build( "SomeOTA-Build-1", param1: params["GIT_TAG_NAME"] )
build( "SomeOTA-Build-2", param1: params["GIT_TAG_NAME"] )

Pernyataan print mencetak parameter dengan benar, tetapi build turunan tampaknya tidak meneruskan parameter tersebut ke dalamnya.


person joseph.hainline    schedule 22.10.2012    source sumber
comment
Ini seharusnya berfungsi dengan plugin build flow - dalam pengaturan saya, saya dapat meneruskan parameter seperti yang Anda jelaskan. Ia bekerja dengan dan tanpa menentukan parameter pada SomeOTA-Build-1. Parameter tersedia sebagai variabel lingkungan build di SomeOTA-Build-1 bernama param1.   -  person Marijn    schedule 03.04.2013
comment
Komentar di atas berisi jawaban yang benar. Plugin aliran build mengharuskan Anda memberi nama parameter yang Anda teruskan. Dalam kasus Anda, ini berarti build( "someOTA-Build-1", GIT_TAG_NAME: params["GIT_TAG_NAME"] )Contoh yang terlalu singkat di halaman wiki plugin memiliki build dengan parameter bernama param1.   -  person thuovila    schedule 01.10.2013


Jawaban (1)


Coba gunakan Plugin Pemicu Parameter -

  1. Tetapkan Pekerjaan-A dengan parameter GIT_TAG_NAME - ini adalah "front-end" Anda

  2. Tetapkan Job-B1, Job-B2 dan Job-B3 dengan parameter yang sama GIT_TAG_NAME - keduanya melakukan pekerjaan sebenarnya

  3. Tetapkan Pekerjaan-A ke Memicu pembangunan berparameter pada proyek lain (dalam Tindakan Pasca-pembangunan)
    dan meneruskan Parameter pembangunan saat ini ke tugas yang dipicu
    (membutuhkan pemicu untuk setiap tugas turunan - baik dengan kondisi yang sama atau berbeda)


Sekarang, menjalankan Pekerjaan-A akan mencurangi pekerjaan lainnya, sambil memberikan nilai GIT_TAG_NAME kepada mereka.

EDIT:
Ada Plugin dari TIKAL yang menggunakan pendekatan berbeda:
Plugin Multijob mencoba menggabungkan semua langkah pekerjaan menjadi satu langkah besar job
(belum mencobanya, jadi tidak dapat mengomentari pendekatan ini).

Jika mengambil pendekatan pertama, Anda mungkin ingin melihat Gabung Plugin -
plugin ini memungkinkan tugas dijalankan setelah semua tugas hilir langsung berakhir.

person Gonen    schedule 23.10.2012
comment
Terima kasih atas jawabannya. Itulah yang saya butuhkan. Tidak melihatnya di antara ratusan plugin Jenkins. :) - person joseph.hainline; 23.10.2012
comment
Ya, sebagian besar pengguna ingin membangun 'pekerjaan' yang sama tetapi dengan konfigurasi yang berbeda, sehingga mereka menggunakan Pekerjaan Multi-Konfigurasi (atau 'Matriks') . - person Gonen; 26.10.2012