Может ли работа Jenkins наблюдать за одним репозиторием на предмет изменений, чтобы запустить сборку на другом репо? - PullRequest
0 голосов
/ 30 апреля 2018

Использование Дженкинса и трубопроводов;

У меня есть один репозиторий, который управляет развертыванием, и клонирование его Jenkinsfile должно начать новую сборку; но мне нужно задание jenkins, которое оборачивает его, чтобы наблюдать за другим репозиторием, представляющим сайт (а не за процессом его сборки), отслеживать и создавать изменения на сайте, которые, как ожидается, будут часто меняться, а не процесс сборки, который, как мы надеемся, скоро будет стабильным и не подлежит большим дополнительным изменениям.

Может ли кто-нибудь сообщить мне, как бы я совершил этот подвиг?

Ответы [ 2 ]

0 голосов
/ 30 апреля 2018

Обычно я рекомендую размещать Jenkinsfile в том же хранилище, что и ваш исходный код. Только так у вас будет объединенная история, так что будет намного проще воспроизвести более старую сборку, скажем, год назад.

Однако, если вы все еще хотите перейти к разделению: шаги git / checkout обычно имеют возможность добавить ловушку в Jenkins, так что задание будет автоматически запускаться при изменениях.

Если я правильно понял ваш сценарий использования, Jenkinsfile перейдет в стабильное состояние. Если оно стабильно, оно не изменится. Когда нет никаких изменений, это не вызовет работу, верно?

Если этого по-прежнему недостаточно, я думаю, мне нужно больше подробностей о том, чего вы пытаетесь достичь и почему.

0 голосов
/ 30 апреля 2018

Используйте шаг сборки Дженкинса.

В репо, в котором произошли изменения, сделайте так, чтобы его задание Jenkins отработало https://jenkins.io/doc/pipeline/steps/pipeline-build-step/ для репо, которое вы хотите построить. Вы можете настроить этап сборки так, чтобы он ожидал или не ожидал результата запущенного задания.

build(job: "org/${jobName}/${BRANCH_NAME}", 
    parameters: [
        new StringParameterValue('ENV', env),
        new StringParameterValue('ENV_NO', env_no),
    ],
    propagate: false, 
    wait: false,
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...