Я запускаю Jenkins 2 с плагином Pipeline. У меня есть проект с несколькими ветвями, где каждая ветвь (master, develop и т. Д.) Имеет в корне файл Jenkins. Настройка этого была простой. Тем не менее, я не понимаю, как каждую ветвь запускать периодически (а не индексацию ветвей), даже если код не изменяется. Что мне нужно, чтобы включить в мой файл Jenkins, чтобы включить периодические сборки?«Строить периодически» с многоотводным трубопроводом в Дженкинсе
ответ
Если вы используете декларативный стиль Jenkinsfile затем использовать triggers директиву.
pipeline {
agent any
triggers {
cron('H 4/* 0 0 1-5')
}
stages {
stage('Example') {
steps {
echo 'Hello World'
}
}
}
}
Я смог найти пример, иллюстрирующий это отбрасывание старых сборников, что тоже я хотел.
Jenkinsfile
in jenkins-infra/jenkins.io:
properties(
[
[
$class: 'BuildDiscarderProperty',
strategy: [$class: 'LogRotator', numToKeepStr: '10']
],
pipelineTriggers([cron('H/30 * * * *')]),
]
)
BTW для первого свойства вы можете использовать символ 'buildDiscarder' для упрощения синтаксиса, так как должен отображаться ** Pipeline Syntax **. –
Это не работает в сценариях под jenkins 2.79 (java.lang.UnsupportedOperationException: Неопределенный символ 'pipeTriggers') – Eric
Эрик, попробуйте с этим для сценариев: 'pipTriggers ([[$ class:« TimerTrigger », spec : "H 1 * * *"]]) ' – nradev
При использовании трубопровода декларативный стиль и только хотят, чтобы вызвать сборку на конкретной отрасли вы можете сделать что-то вроде этого:
String cron_string = BRANCH_NAME == "master" ? "@hourly" : ""
pipeline {
agent none
triggers { cron(cron_string) }
stages {
// do something
}
}
Найдено на Jenkins Jira
Это работает, но обратите внимание, что для запуска и нажатия на Jenkinsfile недостаточно для запуска триггера; работа также должна выполняться вручную после этого. – Cameron
Может ли триггер находиться внутри блока сцены? То есть stage («Развертывание в производство») { triggers { cron (MASTER_TRIGGER) } – Learner
Будет ли это работать в файле декларативных дженкинсов или только в файле сценария jenkins? – Learner
- 1. В чем разница между опросом SCM & build периодически в Дженкинсе?
- 2. R: формула с трубопроводом
- 3. sklearn GridSearchCV с трубопроводом
- 4. Порядок работы с трубопроводом
- 5. Исключения С трубопроводом Jedis
- 6. Проблема с трубопроводом в Freemarker
- 7. Связывание контейнеров с трубопроводом
- 8. Подключение ветки с трубопроводом Heroku
- 9. Неисправность с трубопроводом через sed
- 10. Использование partial_fit с трубопроводом Scikit
- 11. Запуск протока в Дженкинсе
- 12. Обращение с трубопроводом io в Lua
- 13. , имеющий проблемы с трубопроводом в функции powershell
- 14. Сравнительный вид в Paraview с идентичным трубопроводом
- 15. Python unittests в Дженкинсе?
- 16. Scrapy - обработка деталей трубопроводом
- 17. Связь между трубопроводом микросервисов
- 18. Заказ проектов git child maven в Дженкинсе
- 19. Page 404 в IIS 7.5 с Интегрированным трубопроводом, штрафом Классического трубопроводом
- 20. Проблема с кучей пространства в Дженкинсе
- 21. Многоквартирный дом в Дженкинсе с SVN
- 22. Выполнить оболочку для соли в Дженкинсе с непоследовательными результатами
- 23. Как рассчитать отчет в Дженкинсе?
- 24. Как автоматизировать работу в Дженкинсе?
- 25. Как публиковать журналы в Дженкинсе?
- 26. Различия в построении на Дженкинсе?
- 27. возникли проблемы с трубопроводом несколько раз
- 28. Обучение трансляции Tensorflow с входным трубопроводом
- 29. Работа с многоканальными трубопроводами и трубопроводом
- 30. Rails: ExecJS :: ProgramError, связанный с трубопроводом активов
Любой способ сделать cron-триггер только на ветке' master'? Чтобы дать некоторый контекст: когда товарищи по команде создают новую ветвь функции и фиксируют там, файл Jenkins все равно должен запускаться (через опрос или push), но то, что я не хочу, - это запуск триггера cron для этих ветвей функций. – foobarto
@foobarto См. Ответ ниже: https://stackoverflow.com/a/44902622/346 – dwj