|
Как поставить процесс передачи веб-приложения в тестирование и выпуск?
|
|||
---|---|---|---|
#18+
Добрый день! Интересует, как правильно поставить это процесс? У нас сейчас происходит так: разработчики (java) пишут код, собирают готовые jar'ы и war'ы, и копируют эти файлы в сетевой каталог, после чего отсылают письмо тестировщику, чтобы он тестировал. Тестировщик копирует эти файлы на тестовый сервер, записывает в определенный файл их названия, и приступает к тестированию. В случае ошибок, тестировщик пишет письмо об ошибке, ошибка обрабатывается разработчиком, и цикл повторяется заново. Когда приложения протестированы, тестировщик отправляет письмо сисадмину с перечнем файлов, которые нужно скопировать на производственный сервер. В принципе, оно вроде как работает. Только решение получается нетехнологичное... Я тут вроде как придумал технологичное решение. Просьба заценить и покритиковать... Так вот: Идея в том, чтобы все делать через репозиторий cvs. В репозитории думаю создать проект, со структурой каталогов идентичных производственному серверу. В эти каталоги складывать наши и сторонние jar и war, а также различные конфигурационные файлы, которые мы по ходу правим. По окончании разработки разработчики запускают скрипт сборки (Ant), который собирает jar или war, и размещает его в этом специальном проекте. После чего разработчики ставят метку (Tag) на весь репозиторий со всеми проектами (включая этот спецпроект), и отсылают эту метку тестеру. Тестер начинает работу с того, что на тестовый сервер делает checkout этого проекта по этому тегу сразу в готовые каталоги сервера приложений (мы используем tomcat), после чего начинает тестирование. Разработчики в этом время продолжают работу в стволе (trunk) cvs'а. В случае ошибки, тестер отсылает разработчику сообщение об ошибке, разработчик вытаскивает исходники по тэгу, который был прошлый раз отдан тестеру, исправляет ошибку, и помещает ее в ствол, или на ветку, если в стволе ведутся другие работы, и сливает изменения из ветки в ствол.. На новые изменения ставит тэг, и отправляет этот тэг тестеру. И так циклично. Когда все ошибки исправлены, тестер отправляет тэг системному администратору, и системный администратор делает checkout по этому тегу сразу в каталоги производственного application server'a. Какие я вижу преимущества и недостатки моего подхода: — Преимущества: 1) решение минимизирует ошибки, связанные с человеческим фактором: забыл записать файл в список, забыл скопировать, не туда скопировал и т.д. 2) решение экономит время, так как устраняет лишние организационные процессы — Недостатки: 1) Необходимо создать вот этот вот спецпроект, куда при каждой сборке закидывать библиотеки. Разработчики могут забыть запускать скрипт для копирования, и будут просто заливать изменения в репозиторий, и отправлять тестеру тег на залитые изменения. В итоге тестер будет тестить старые бинарники. 2) Постоянная необходимость в создании веток с последующим их сливанием. Это усложняет процесс 3) Я говорил это своим разработчикам, их смущает, что на ВЕСЬ репозиторий при каждом чихе ставится тэг. В итоге будут тысячи тегов для всего репозитория. Мне интуитивно это тоже не нравится, но есть ли действительно здесь проблема? Прокоментируйте, пожалуйста, правильно ли я хочу поставить процесс? Как эту задачу решаете вы? Как мне лучше всего, все-таки поставить этот процесс? Всем заранее спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2008, 15:17 |
|
Как поставить процесс передачи веб-приложения в тестирование и выпуск?
|
|||
---|---|---|---|
#18+
А вы не пробовали использовать систему учета изменений (баг-трекинг и запросы на изменение)? Например, Rational ClearQuest, Borland StarTeam, Bugzilla... Эти системы и предназначены для решения Вашей задачи (по крайней мере в интеграции с системами контроля версий). ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2008, 12:26 |
|
Как поставить процесс передачи веб-приложения в тестирование и выпуск?
|
|||
---|---|---|---|
#18+
В двух словах. Существует репозиторий(не важно, cvs/svn/...) вида /trunk /tags ..... И некая bugtracking system(BugZilla/ClearQuest/...) Основная разработка ведется в ветке trunk. При сборке очередного билда создается tag с ревизией сборки и бинарник(jar/war/ear/...). Бинарник ставится в test environment. Информируется тестер. Пока тестер тестирует новый функционал и валидирует зарезолвленные(в данном билде) дефекты разработка ведется дальше(в trunk). Дефекты заводятся с текущей версия билда. Зазработчики закрывают существующие дефекты следующей(еще не собранной) версией билда. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2008, 20:16 |
|
|
start [/forum/topic.php?fid=37&fpage=11&tid=1555628]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
2ms |
others: | 270ms |
total: | 395ms |
0 / 0 |