Каковы хорошие стратегии развертывания и выпуска для общей среды выполнения?

StackOverflow https://stackoverflow.com/questions/3801994

Вопрос

Статус-кво

Для нашего клиента мы разрабатываем некоторые библиотеки и приложения, которые работают как «модули» в более широком приложении, которое поставляется в виде внутреннего приложения Java Web Start. Заказчик поддерживает инфраструктуру, на которой работает это приложение. «Server Side» состоит из нескольких веб-сервисов на основе AXIS2. Обе детали развернуты в один экземпляр Tomcat в виде двух отдельных веб-приложений.

Когда мы выпускаем новые версии наших артефактов, мы просто создаем необходимые файлы JAR (например, oarapp-client.jar и oarapp-server.jar) и отправлять их на нашего клиента, который, в свою очередь, просто бросает их в соответствующие места и ... Если нужно, перезагрузите сервер Tomcat.

Цели

В настоящее время мы Maven все наши проекты и в будущем мы также хотим сделать наши выпуски в «Maven Way». Основная цель состоит в том, чтобы автоматизировать процесс выпуска и развертывания на нашей стороне и сделать его менее ошибкой и более надежным и комфортным на стороне клиента.

Главная проблема

Сложная часть состоит в том, что наш клиент использует одинаковые веб-приложения TOMCAT (AXIS2 для «Server Side» и приложение веб-запуска), чтобы включить их саморазвитые модули в приложение. Таким образом, мы не можем использовать очевидное решение и просто доставлять свежее веб-приложение (война), которое просто развернуто на сервере. Вот почему мы в настоящее время доставляем одиночные файлы JAR, которые ставят «вручную» в правильное местоположение.

Какие стратегии вы обычно используете для доставки ваших продуктов вашего клиента? У кого-то есть какие-либо опыт с аналогичной ситуацией (т. Е. Общая среда выполнения для 3-го вечеринки и самостоятельных приложений)?

Это было полезно?

Решение

Основная цель состоит в том, чтобы автоматизировать процесс выпуска и развертывания на нашей стороне и сделать его менее ошибкой и более надежным и комфортным на стороне клиента.

Не уверен, что вы имеете в виду точно «Процесс выпуска и развертывания» (в Maven Lingua, это о автоматизации задач SCM и развертывание артефактов на удаленный репозиторий). Если это о Развертывание к производству машин, Лично я не думаю, что это действительно работа для Maven (и мы не используем Maven для этого). Может быть, посмотрите на специальные решения, такие как Controltier, SmartFrog., Марионетка, Шеф-повар, так далее.

Какие стратегии вы обычно используете для доставки ваших продуктов вашего клиента? У кого-то есть какие-либо опыт с аналогичной ситуацией (т. Е. Общая среда выполнения для 3-го вечеринки и самостоятельных приложений)?

Мы доставляем вещи, которые мы можем контролировать. Если клиент хочет включить свои собственные биты в данном приложении, мы сделали бы необходимые подпадки доступными, но упаковка, вероятно, будет его ответственностью.

Связанные вопросы

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top