Это веб-проект, написанный на Java.
Итак, я пишу сценарии сборки и развертывания. Для создания сборки я использовал муравей. Непрерывная сборка выполняется с помощью Jenkins.
Сборка генерирует 3 разных артефакта:
- Файл войны
- Почтовый индекс с макетами
- Почтовый индекс с изображениями
Пока все хорошо, но теперь мне нужно написать сценарий развертывания, который должен:
- Разверните войну (артефакт 1) на коте, работающем на сервере 1
- Поместите артефакт 2 на сервере 1 в определенный каталог
- Поместите артефакт 3 на сервер 2 в определенную директорию
Поэтому я разговаривал со своим коллегой, и он сказал, что мы должны также сгенерировать артефакт (возможно, deploy.xml ), который развертывает эти артефакты при размещении на правильном сервере.
Так что был бы другой сценарий, который бы:
- Скачать артефакты Дженкинса
- scp к каждому серверу и разместите там файл deploy.xml
- удаленно вызвать файл deploy.xml
Что делает меня немного неудобным, так это наличие файла deploy.xml в качестве артефакта сборки. Мотивация заключается в том, чтобы иметь возможность выполнять развертывание без необходимости иметь доступ к репозиториям VCS, поэтому сборка будет автономной, то есть любая сборка может быть запущена в производство только с тем, что было сгенерировано Jenkins.
Где должны быть размещены сценарии развертывания? Должны ли они быть только в VCS или они тоже должны быть артефактами сборки?