जेनकिंस 2.7 पाइपलाइन के रूप में कीवर्ड के साथ शुरू होने वाली सभी नौकरियों को लॉन्च करता है


0

मैं जेनकिन्स 2.7 में एक पाइपलाइन के रूप में प्रीसेट स्ट्रिंग से शुरू होने वाली सभी नौकरियों को लॉन्च करने की कोशिश कर रहा हूं। अब तक मैं इस ग्रूवी कोड को लिखने में कामयाब रहा:

node {
    jobs = hudson.model.Hudson.instance.getAllItems(FreeStyleProject)
for (job in jobs) {
      // here was an "if" statement: if (job.getFullName() =~ /my regex/) {
      stage job.getFullName()
      build job: job.getFullName(), propagate: false
  }
 }
}

हालाँकि हर लॉन्च पर मुझे मिलता है java.io.NotSerializableException, और केवल एक नौकरी मिलान (इस समय दो में से) निष्पादित किया जा रहा है।

मैं क्या गलत कर रहा हूं? :(

जवाबों:


1

यहाँ एक उदाहरण है, मैं यह कैसे करूँगा:

import hudson.model.*;

// get all jobs which exists    
jobs = Hudson.instance.getAllItems(FreeStyleProject);

// iterate through the jobs
for (j in jobs) {

  // define a pattern, which jobs I do not want to run
  def pattern = 'trunk';
  def m = j.getName() =~ pattern;

  // if pattern does not match, then run the job
  if (!m) {
    // first check, if job is buildable
    if (j instanceof BuildableItem) {
      // run that job
      j.scheduleBuild();
    }
  }
}

मैंने अपने कोड पर टिप्पणी की, इसलिए इससे आपको मदद मिलनी चाहिए।


धन्यवाद, इस तरह से यह वास्तव में कहा जाता है कि नौकरियों से चलाता है, हालांकि का उपयोग कर obj.scheduleBuild(), निर्माण समय और राज्य पाइपलाइन दृश्य को वापस नहीं किया जाता है। ऐसा लगता है कि मुझे पाइपलाइन का उपयोग करने की आवश्यकता है build कार्य, लेकिन यह मुझे एक अपवाद ...
J. Doe
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.