Я шукаю спосіб запустити процес 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. Це завершальний етап у моєму трубопроводі, тому я здогадуюсь, що дженкіни запускають його та припиняють його вже в наступний момент.
—
Дхаранідхар
Що відбувається, коли ви запускаєте команду безпосередньо на підлеглому? Увійдіть в хост агента / підлеглого, перейдіть до робочої області завдання (або якщо його було очищено вручну, копіюйте у файлі війни десь ...
—
B Layer
/tmp
наприклад), і запустіть все між подвійними лапками.
Крім того, якщо робочу область не було вимкнено, шукайте файл з назвою nohup.out у будь-якому каталозі, запускається команда shell. nohup автоматично реєструється у такому файлі, коли вихід не іншим чином перенаправлений.
—
B Layer
@BlairM той самий сценарій працює добре, коли я пробую його з користувачем jenkins через неінтерактивну оболонку без входу. Робота в подвійних лапках не має ніякої різниці. nohup.out присутній, але він становить 0 Кб.
—
Dharanidhar