Запуск фонового процесу в роботі Трубопровід


15

Я шукаю спосіб запустити процес Java у фоновому режимі, використовуючи декларативний конвеєр Дженкінса. Нижче наведено фрагмент коду

stage('Deploy'){
        steps{
            script{
                withEnv(['BUILD_ID=dontkill']) {
                    sh "nohup java -jar test-0.0.1-SNAPSHOT.war &"
                }
            }
        }
}

Вже в курсі ProcessTreeKiller з Дженкінса і кожна відповідь пропонує зробити те саме. Я намагався використовувати середовище всередині блоку сходів без удачі.

Версія Дженкінса: 2.60.1

Плагін трубопроводу: 1.1.7

Будь-яка допомога дуже вдячна.


Що сталося? Повідомлення про помилку? Мовчить невдача?
B Layer

У мене немає запущеного процесу Java. Це завершальний етап у моєму трубопроводі, тому я здогадуюсь, що дженкіни запускають його та припиняють його вже в наступний момент.
Дхаранідхар

Що відбувається, коли ви запускаєте команду безпосередньо на підлеглому? Увійдіть в хост агента / підлеглого, перейдіть до робочої області завдання (або якщо його було очищено вручну, копіюйте у файлі війни десь ... /tmpнаприклад), і запустіть все між подвійними лапками.
B Layer

Крім того, якщо робочу область не було вимкнено, шукайте файл з назвою nohup.out у будь-якому каталозі, запускається команда shell. nohup автоматично реєструється у такому файлі, коли вихід не іншим чином перенаправлений.
B Layer

@BlairM той самий сценарій працює добре, коли я пробую його з користувачем jenkins через неінтерактивну оболонку без входу. Робота в подвійних лапках не має ніякої різниці. nohup.out присутній, але він становить 0 Кб.
Dharanidhar

Відповіді:


16

Той, хто стикається з тією ж проблемою та використовує проект трубопроводу, встановлений JENKINS_NODE_COOKIEзамість BUILD_ID.

Dont витрачати час установки HUDSON_COOKIE, HUDSON_SERVER_COOKIE, JENKINS_COOKIEабо JENKINS_SERVER_COOKIE. Жоден з них не працює на трубопровідний проект.

Детальнішу інформацію див. На https://isissue.jenkins-ci.org/browse/JENKINS-28182 .


1
Ого, це дещо всередині бейсболу. Добре знати.
B Layer
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.