Общаемся на темы, посвященныe Jenkins Видео с митапов: http://youtube.com/jenkinsru Место активного общения разработчиков https://gitter.im/jenkinsci-ru/publiс Самые свежие новости https://twitter.com/jenkins_ru
try {
timeout(time: 1, unit: 'SECONDS') {
sleep(60)
}
} catch(e) {
println("${e} / ${e.class}")
}
org.jenkinsci.plugins.workflow.steps.FlowInterruptedException
, что я делаю не так? 🤔
Читать полностью…
если нужен независимый запуск каких то действий от основного пайплайна, то наверное есть смысл так сделать
Читать полностью…всё правильно, через shared lib сделаешь.
А разбивать на отдельные подзадачи или в одной разными стейджами - это уже сам решай
Я понял, на данный момент запуск ansible и происходит локально в контейнере
Благодарю за ответы
В целом это вопрос не в топик jenkins, а по куберу и ансиблу. Но надеюсь никто не поругает за офтоп, помочь всё равно нужно.
Вопросов конечно много возникает, а зачем так делать...
Всё что вы делаете - не правильно, антипаттерны. Вы превращаете контейнер в виртуальную машину с доступом по ssh, это не правильно. Если нужно что то сделать в поде, то это делается через kubectl exec, но не по ssh. Но это тоже не правильно, потому что при сбое под пересоздастся, и там уже не будет этих действий. Гораздо проще и стабильнее собирать образы заранее, через Dockerfile.
не, это шаредлиба внутри пайплайна
а я про внутри дсл, чтобы можно было сделать def fridayEvening() { cron '5 19 * * *' }
и в дслке её вызывать как
pipelineJob('Backup-Minio-DpCluster') {Читать полностью…
triggers {
fridayEvening()
}
еще условие добавить что cause из всего списка был org.jenkinsci.plugins.workflow.steps.TimeoutStepExecution
через "И"
можно каждый шаг обернуть в timeout
можно в общем блоке post { always { ловить
можно вынести в либу эту обертку
можно в varS/common.groovy и вызывать одной строчкой в каждом post { }
слишком много вариантов 🙂
static final class
TimeoutStepExecution.ExceededTimeout
Common cause in this step.
try / catch (e)
и дальше e.toString().contains("TimeoutStepExecution")
этого должно хватить
Добрый день, подскажите как узнать что сборка прервана именно по timeout? Кто-то сталкивался с этой темой?
Читать полностью…добрый день подскажите пожалуйста
а возможно ли отслеживать изменения в группе gitlab
используя одну jenkins job
когда там просто scm то все понятно
а вот когда надо все проекты в группе
такое возможно?
идея в том что ненадо в каждый проект копипастить функцию или код как собирать то или иное
есть стандартное
проекты только управляют посути что в каком порядке для проекта запустить
добрый день
а я тут со странным вопросом
а вот кто использует Jenkins
как правильно
нарезать таски на кучу мелких джоб которая делает каждая свое
например
сборка докер образа
тесты докер образа
деплой докер образа
и вызывать их в нужном порядке одной другой джобой
идея максимально переиспользовать код шаред либ
стремится никогда не трогать Jenkinsfile проектов
а править только sharedlib
Не могу понять, в каком месте там нужен ssh. Уточните архитектуру.
Обычно сама бд лежит вне кубера, на persistent volume. БД в контейнере не бывает. А в контейнере крутится просто экземпляр СУБД, кликхаус-сервер, для управлдения этой БД, и есть порт, по которому можно к кликхаус-серверу подключиться.
jenkins скорее всего просто запускает контейнер внутри кубера с предустановленным ансиблом, который настраивает БД через кликхаус-клиент. Тогда не нужен ssh, тогда ансибл выполняет SQL-команды напрямую, подключаясь к кликхаус серверу.
В этом случае в контейнере должен быть установлен ансибл, сам кликхаус-клиент, и в плейбуке прописано connection: local. Для этого ssh не нужен.
Конфиги кликхауса скорее всего тоже лежат вне кубера, нет смысла их держать внутри контейнера, настраивать, а потом всё стирается при перезапуске. Тогда их можно настраивать вообще не через кубер.
Тут 100% придется вникать в вопрос, разбираться в том, как всё устроено, и jenkins это не касается. По этому рекомендую обратиться в другое комьюнити. Если будут вопросы непосредственно по работе jenkins, то пишите.
BackupService у меня как раз sharedLibrary функция, настройки самой sharedLibrary глобальные в jenkins
Читать полностью…