Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Ищется простой и эффективный сервер/клиент контроля версий
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Управление проектами
Altemir
Здравствуйте, уважаемые! Прошу Вас высказаться по этой теме и порекомендовать готовый программный продукт для контроля версий ПО в рамках одной организации.

Предыстория: фирма росла, росла и достигла такого уровня, когда вертикаль потребовала заиметь учёт и контроль версий ПО от разных программистов, дабы упростить как само общение между ними, так и обеспечить простое ориентирование в софте такому уровню как Настройщики и Тестеры оборудования. Проведённый анализ существующего ПО в этом направлении (CVS, Subversion, Arch и т.п.) особого результата не дал, поскольку обладает либо ненужным функционалом, либо чрезвычайно сложен в настройке и установке, либо не может выполнять возлагаемые на него обязанности в требуемом виде. Итак, требования:

1. Простота установки и настройки
2. Реализация по принципу клиент/сервер с разграничением прав клиентов: есть некоторый сервер, на котором непосредственно происходит контроль версий и хранится база ПО с хистори, есть клиенты-программы, которые висят в трее конечных пользователей и разработчиков, и по мере появления новой версии ПО от разработчика предупреждают об этом как других разработчиков так и конечных пользователей (Персонал по тестированию оборудования и его Настройки).
3. Клиентская программа позволяет самому разработчику загружать на сервер новую версию ПО и давать ему описание. Клиентская программа у НЕразработчиков позволяет только просматривать список текущих версий ПО для тех или иных "железок".
4. Возможность предоставления информации по версиям ПО через web-интерфейс (опционально).
5. Поддержка в качестве ПО как папок (необязательно), так и единичных файлов. Для отдельных файлов должны поддерживаться такие расширения как: *.exe, *.dll, *.bin, *.rbf, *.hex и пр.
6. Возможность архивирования и резервирования базы версий со стороны сервера
7. Наличие графического интерфейса сервера и клиента (командную строку ф топку!)
8. Расширяемость (опционально - поддержка, например, плагинов/виджетов для расширения функционального багажа системы)
9. ОС - Windows XP
10. Управление проектами необязательно, допуская, что от каждого программиста получается один файл-прошивка

Есть ли в природе такие системы и если есть, то кто чем пользуется? Вопрос крайне актуален.
Спасибо.
Edmundo
Цитата(Altemir @ Oct 21 2007, 18:34) *
Есть ли в природе такие системы и если есть, то кто чем пользуется? Вопрос крайне актуален.
Спасибо.

Есть такая программа, называется StarTeam. Давайте по пунктам:
1. Клиент ставится и настраивается весьма просто: прописывается адрес сервера, порт, еще пара галочек. Сервер -- не знаю, не я ставил.
2. Клиенты в трее не висят, и активно не предупреждают, но если загрузить и открыть проект, то видно, что устарело и т.п.
3. Довольно гибкая система разграничения прав. То есть некоторые могут просматривать только определенные проекты, кто-то не имеет права заливать, а только читать и т.п.
4. Веб-интерфейса нет.
5. Не очень понял. В СтарТиме есть понятие "проект", он похож скорее на папку. В рамках проекта у вас могут быть какие угодно файлы.
6. Должно быть резервирование.
7. GUI рулит smile.gif
8. Насчет расширяемости не знаю -- не интересовался.
9. ХП поддерживается. Сервер стоит на 2003-м, но на ХП тоже, думаю, должен идти.
10. Управление проектами, bug-tracker и все прочие завоевания средств для коллективной разработки имеются.
Altemir
Цитата(Edmundo @ Oct 21 2007, 19:20) *
1. Клиент ставится и настраивается весьма просто: прописывается адрес сервера, порт, еще пара галочек. Сервер -- не знаю, не я ставил.

Вот по серверу вопрос как раз и остаётся открытым...

Цитата
2. Клиенты в трее не висят, и активно не предупреждают, но если загрузить и открыть проект, то видно, что устарело и т.п.

Плохо. Т.к. зачем НЕразработчикам ставить среду программирования, чтобы видеть изменения в проекте? Им нужен лишь выходной *.hex-файл, прошивка

Цитата
5. Не очень понял. В СтарТиме есть понятие "проект", он похож скорее на папку. В рамках проекта у вас могут быть какие угодно файлы.

Хорошо, будем иметь ввиду "проект". Применительно к поставленной задаче - это набор прошивок для одного модуля (прошивка для ПЛИС, CPU, DSP и т.п.), а также - сопутствующая документация

Цитата
7. GUI рулит smile.gif

GUI рулит! Лишь бы не был запутанным

А кто что ещё предложит? Пока не выкачивал этот софт. Есть ли не особо навороченные вещи на opensource?
Ivan_Petrov
А чем сомбственно SVN (subverison) то не устраивает?
Я пробежался по тексту по диогонали, но помоему он по всем пунктам в связке с Apache проходит.
Altemir
Цитата(Ivan_Petrov @ Oct 21 2007, 21:09) *
А чем сомбственно SVN (subverison) то не устраивает?
Я пробежался по тексту по диогонали, но помоему он по всем пунктам в связке с Apache проходит.

Да тем, что он п. 1 не удовлетворяет. Это ж придётся сервер Apache ставить и настраивать cranky.gif А сие отнимет кучу времени. К тому же - в сети нет человека, который занимается ТОЛЬКО обязанностями администратора, а если мне придётся взять на себя решение этого вопроса полностью, то хочется поиметь минимум возни с настройками smile3046.gif
Сейчас курю вопрос с Apache и TortoiseSVN. Уж больно монстрообразно всё выглядит для ТОЛЬКО контроля версий wacko.gif
Ivan_Petrov
Цитата(Altemir @ Oct 21 2007, 21:37) *
Да тем, что он п. 1 не удовлетворяет. Это ж придётся сервер Apache ставить и настраивать А сие отнимет кучу времени. К тому же - в сети нет человека, который занимается ТОЛЬКО обязанностями администратора, а если мне придётся взять на себя решение этого вопроса полностью, то хочется поиметь минимум возни с настройками

Ну если вопрос только в нехватке кадров, то вопрос снимается.

Цитата(Altemir @ Oct 21 2007, 21:37) *
Сейчас курю вопрос с Apache и TortoiseSVN. Уж больно монстрообразно всё выглядит для ТОЛЬКО контроля версий wacko.gif

Собственно такое у нас и стоит. Проработали 3 года, устраивает все. Но унас есть отдельный админ.
Поднимали такую систему знакомым, времени затратили час.
Altemir
Цитата(Ivan_Petrov @ Oct 21 2007, 21:59) *
Ну если вопрос только в нехватке кадров, то вопрос снимается.
Собственно такое у нас и стоит. Проработали 3 года, устраивает все. Но унас есть отдельный админ.
Поднимали такую систему знакомым, времени затратили час.

А веб-интерфейс чем организован? Отдельно Web-интерфейсы к репозиториям ставили? Типа http://svn.code-host.net/project.html
Можете ли привести скриншот для НЕразработчиков? Можно ли будет получить консультацию по поднятию такой связки, если ничего проще не найду?
Jat
Посмотрите на PerForce

Он вам подходит по всем перечисленным параметрам
Edmundo
Цитата(Altemir @ Oct 21 2007, 20:03) *
Плохо. Т.к. зачем НЕразработчикам ставить среду программирования, чтобы видеть изменения в проекте? Им нужен лишь выходной *.hex-файл, прошивка

Я имел в виду, открыть проект ("проект" в терминологии StarTeam, а не с точки зрения разработки) в клиенте StarTeam. Он (проект) напоминает собой папку в "Проводнике" только с дополнительными фичами.
Ivan_Petrov
Цитата(Altemir @ Oct 21 2007, 22:20) *
А веб-интерфейс чем организован? Отдельно Web-интерфейсы к репозиториям ставили? Типа http://svn.code-host.net/project.html
Можете ли привести скриншот для НЕразработчиков? Можно ли будет получить консультацию по поднятию такой связки, если ничего проще не найду?

скриншоты с офсайта.
http://tortoisesvn.net/image/tid/13
Отдельный WEB интерфейс не поднимали. Текущий срез SVN можно посмотреть прямо через браузер без всяких модулей.
Консультации... ну какието советы и подсказки я могу дать.
Лучше всего этот этап построить как Q.A., с конеретными вопросами, что не получается.

Для начала поставьте виндовый клиент, на пару машин, в расшаренной папке сделайте сетевое хранилище, и попробуйте туда что нибудь экспортировать, и посмотрите как с этим работать, уже на этом этапе будет понятно на 90% подходит оно или нет.
Утановка Apache расширит управление правами, и даст доступ к хранилищу из любой точки мира.
Altemir
Цитата(Ivan_Petrov @ Oct 22 2007, 19:21) *
Для начала поставьте виндовый клиент...

Ok. Спасибо большое за подсказки и советы. Наверное, с этого и начну.
Оказалось, что некоторые программеры у нас уже пользуются системой контроля версий, но только CVS. Сегодня обсуждали, что и как лучше ставить. Сошлись, что придётся ставить на перспективу и, скорее всего, вводить и управление проектами (совместная работа). Для разработчиков "верха" проблема в том, что они работают в Momentics-е, а он хорошо вяжется с CVS, но SVN перспективнее. Будем искать, как прикрутить им SVN. Я сам работаю в IAR-е и тоже бы не мешало заиметь интеграцию в него SVN. Судя по поиску в форуме - кому-то это уже удалось сделать (было бы неплохо интсрукцию какую отыскать для этого).
Коммерческие продукты вряд ли станем использовать для этих целей. Начальство зажмётся.
Andreas1
Цитата
Утановка Apache расширит управление правами, и даст доступ к хранилищу из любой точки мира.

А зачем вам апач? SVN сервер прекрасно становится на винду сервисом и через svn:// я прекрасно работаю из дома. Открыв всего один порт UDP.
И управление доступом там есть на уровне cofig файлов. Или этого не не хватает?
Есть хорошая частично переведенная книга. С помощью нее установка и первое понимание прошло очень быстро и без проблем.
Harbour
monotone + gui. git, конечно, будет получше, но врядли он есть под win32 и gui у него вроде только web'овский.
Altemir
Цитата(Andreas1 @ Oct 23 2007, 08:50) *
А зачем вам апач? SVN сервер прекрасно становится на винду сервисом...

Апач нужен при построении web-интерфейса для использования НЕразработчиками
alogvinov
Цитата(Harbour @ Oct 23 2007, 10:05) *
monotone + gui. git, конечно, будет получше, но врядли он есть под win32 и gui у него вроде только web'овский.

Monotone - штука, в общем, довольно приятная. Сам её использую. Но есть у неё на сегодня один достаточно неприятный недостаток: падает, если в хранилище или каталоге с рабочей копией(workspace) проекта содержатся файлы, в чьих именах есть русские буквы.
Juggernaught
Borland StarTeam (в частности, крайняя версия StarTeam 2006)

1. Ставится достаточно просто. Клиента вообще домохозяйка сможет поставить, а сервак требует MS SQL Server или Oracle, так что элементарные знания этих серверов понадобятся, но только элементарные. В принципе, есть возможность работы с MSDE, но это несерьезно для мощной системы.

2. Реализация по принципу клиент/сервер. При этом клиент действительно может висеть в трее и уведомлять в реальном времени об обнаружении баги, выходе новой версии, постановке новой задачи и т.д.

3. Клиентская программа действительно позволяет самому разработчику загружать на сервер новую версию ПО и давать ему описание. Для остальных категорий пользователей можно задавать отдельные права. Какие угодно. Правда, на мой взгляд, это реализовано не совсем удобно, но это дело привычки. И потом, идеального ничего в мире нет smile.gif

4. Возможность предоставления информации по версиям ПО через web-интерфейс (опционально) имеется. Называется Starteam Web Edition и ставится как приблуда для основного сервака и работает с IIS, в частности.

5. Поддержка в качестве ПО как папок, так и единичных файлов. Загонять можно любые файлы, при этом сравнение осуществляеть, разумеется только для текстовых файлов. Кстати, ИМХО, встроенная программа сравнения у версии 2006 лучшая из тех что вообще я видел. Я ей пользуюсь и отдельно.

6. Возможность архивирования и резервирования базы версий со стороны сервера. В самом серваке этого нет. Но все что нужно сделать для архивирования, это сохранять папку-репозиторий (достаточно встроенной в винду утилиты Backup) и сливать базу средствами самой СУБД. Настроить один раз эту схему не сложно, тем более для разработчика, т.е. инженера smile.gif

7. Наличие графического интерфейса сервера и клиента (командную строку ф топку!) Согласен, Ф ТОПКУ!!! Сам не люблю косить под умного работая в к/с. Есть отличный ГУИ для клиента, и вполне достаточный и удобный ГУИ сервака.

8. Расширяемость. Имеется SDK для .NET и обычного С/С++. Я с ним не работал, потому рекомендаций не дам...

9. ОС - Windows XP для клиента вне всякого сомнения! А вот сервак на ХР вряд ли заработает, во всяком случае на сайте Борланда требуют Сервер 2003...

10. Управление проектами как угодно. Настроить права и обязанности возможно по всякому, но как говорил, не совсем удобно.

В общем, пользуюсь сам с большим удовольствием... smile.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.