У меня есть ответ, но мне бы хотелось услышать другие идеи.
Дженкинс Настройка
создать предварительный шаг "выполнение оболочки", чтобы установить НПЙ _auth и электронная почту поле
НОЙ конфигурация установлена _auth authhashstring
НОЙ конфигурацию набор электронной почту [email protected]
добавить развертывание на «цели и параметры» maven
-Dmaven.test.failure.ignore = истинныечистый Deploy -Dfullclean = истинный
добавить "файл настроек из файловой системы"
конфигурации/Maven-settings.xml
Примечание: используйте цель развертывания, вместо того, чтобы использовать jenkins «развертывание артефактов на maven», потому что он не использует maven, поэтому ваши номера в npm не будут вызваны.
Настройка pom.xml
В NPM-модуль/pom.xml использование фронтэнда-Maven-плагин и добавить казни для установки узла/НМП и НПМ опубликовать. Убедитесь, что публикация прикреплена к фазе развертывания. instructions были достаточно хороши. Или вы можете использовать плагин exec для выполнения команды npm publish на этапе развертывания.
В mvn-module/pom.xml добавьте дистрибутивManagement/snapshotRepository для местоположения репозитория моментальных копий.
Maven settings.xml Настройка
Ставит Maven settings.xml с именем пользователя и паролем в проекте в директории конфигурации, как это, МВНЫ-модуль/конфигурация/Maven-settings.xml. Это не идеально, но мы можем заменить имя пользователя и пароль w/properties, которые могут быть установлены из maven/jenkins, я думаю. Jenkins будет настроен для чтения этого файла из этого местоположения.
Настройка package.json
В NPM-модуль/package.json добавить запись publishConfig/реестра
"publishConfig": {
"registry": "url/nexus/content/repositories/npm-snapshots/"
}
Настройка Nexus
НПМ-снимки состоялся репозиторий чтобы разрешить повторное развертывание. Это, вероятно, не очень хорошая идея, но может быть достаточно хорошей для текущей новой разработки (а не для релизов явно), и я просто пытался заставить стек работать. Теперь мне нужно будет выработать перегибы.
Таким образом, с учетом этого вопроса, теперь сборка jenkins будет публиковать модули java и node в своих соответствующих хранилищах из одной работы Jenkins, используя многомодовый реактор pom верхнего уровня.
UPDATE: Я заменил плагин exec https://github.com/eirslett/frontend-maven-plugin, который делает npm, gulp и grunt граждан первого класса в maven, но я до сих пор не знаю, как получить «jenkins публиковать в maven repositories» post build step, чтобы также публиковать артефакты npm. – Doug