Мы работаем над устаревшим проектом, и первая задача — настроить DevOps для него. Важно то, что мы очень новички в этой области.
Сначала мы планируем использовать jenkins и sonarqube для этой цели. Начну с требований.
- В настоящее время проект подразделяется на несколько проектов (не модулей)
- Нам пришлось следовать этой структуре сборки, так как нет планов реорганизовать ее в единый многомодульный проект maven.
- В настоящее время сборки и зависимости управляются вручную.
Например: проект подразделяется на 5 многомодульных проектов maven, скажем, A, B, C, D и E.
1. A and C are completely independent and can be easly built
2. B depends on the artifact generated by A (jar) and has multiple maven profiles (say tomcat and websphere, it is a webservice module)
3. D depends on the artifact generated by C
4. E depends on A, B and D and has multiple maven profiles (say tomcat and websphere, it is a web project)
Основываясь на документации jenkins для обработки этого сценария, мы думаем о параметризованных сборках с использованием «параметризованного плагина сборки» и «плагина расширенного выбора параметров». С помощью этих плагинов мы можем параметризовать имя профиля. Но перед каждой сборкой сборщик ожидает параметр профиля.
Поэтому мы все еще ищем, чтобы найти хорошее решение для
1. keep the dependency between projects an built the whole projects if there is any change in SCM (SVN). For that we are used "Build whenever a SNAPSHOT dependency is built" and "SCM polling option". Unfortunately this option seems not working in our case (we have given an interval of 5 min for scm polling but no build is happening based on test commits)
2. Even though we are able to parameterize the profile, this seems as a manual step (is there an option to automate this part too, ie. build with tomcat profile and websphere profile should happen sequentially).
Мы изо всех сил пытаемся найти решение для удовлетворения всех этих основных требований. Любой указатель будет принят с благодарностью.
Спасибо, Сан