Скрипт Jenkins - программирование потоков - PullRequest
0 голосов
/ 29 августа 2018

Я пытаюсь создать несколько потоков в сценарии конвейера jenkins. Итак, я взял простой пример, как показано ниже. Но это не работает. Не могли бы вы дать мне знать?

В приведенном ниже примере jobMap содержит ключ в виде строки и значение в виде списка строк. Когда я просто отображаю список, значения выводятся правильно, но когда я использовал 3 разных способа создания потоков и, следовательно, отображения, он не работает.

for ( item in jobMap ) 
    {           
        def jobList = jobMap.get(item.key);

        **// The following loop is printing the values**
        for (jobb in jobList) 
        {
                 echo "${jobb}"
        }

// Реализация потока1:

        Thread.start 
        {

                for (jobb in jobList) 
                {
                 echo "${jobb}"
                }

        }

// Реализация потока2:

        def t = new Thread({ echo 'hello' } as Runnable)
        t.start() ;
        t.join();

// Реализация потока3:

        t1 = new Thread( new TestMultiThreadSleep(jobList));
        t1.start();         
    }



    class TestMultiThreadSleep implements Runnable {
   String jobs;
   public TestMultiThreadSleep(List jobs) {
      this.jobs = jobs;
   }



     @Override
       public void run() 
{
       echo "coming here"
         for (jobb in jobs) 
            {
                 echo "${jobb}"
            }                      
       }
    }

1 Ответ

0 голосов
/ 29 августа 2018

Дженкинс имеет специальный шаг - параллельный () . На этом этапе вы можете создавать другие задания или вызывать код конвейера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...