Олимпиада "Наноэлектроника"
Неофициальный сайт

Меню сайта
Категории раздела
Наш опрос
Оцените сайт олимпиады
Всего ответов: 122
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Главная » Статьи » Сети (МИФИ) » Домашние задания (по сетям МИФИ)

Обзор средств по организации инфраструктуры IT проекта
Так как полная статья содержит 35 страница, то здесь отображены только некоторые общие и ключевые моменты.
С полной статьёй можно ознакомится здесь.

Оглавление
1 Введение
2 Системы контроля версий
2.1 Обзор различных систем
2.2 SVN
2.3 Git
2.4 Сравнение SVN и Git
2.5.1 Протоколы
2.5.1.1 Локальный протокол
2.5.1.2 Протокол SSH
2.5.1.3 Git протокол
2.5.1.4 Протокол HTTP/S
2.5.2 Установка Git на сервер. Размещение голового репозитория
3 Передача файлов по сети
3.1 VPN
3.2 FTP-­‐серер
3.2.1 Протокол FTP
3.2.2 Установка FTP-­‐сервера
3.3 SSH-­‐серер
4 Системы управления проектами
4.1 Обзор различных систем
4.2 Redmine
4.2.1 Обзор
4.2.2 Итоги
5 Список используемой литературы

1 Введение
Как правило проект разрабатывается не одним разработчиком а некоторой группой. Все задачи формализуются, назначаются конкретным лицам и требуют не просто своевременного решения но и определённых форм отчётностей.
Так как работа над проектом занимает конечное время, то такие вещи, как распределение задачей, обмен файлами и общий мониторинг должны занимать минимально возможное время и быть максимально прозрачными. Правильная организация труда приводит к правильным результатам.
В данной статье описываются средства из которых, как правило, состоит инфраструктура разработки проекта в сфере IT (сюда же можно отнести проектирование микросхем, так как в настоящее время почти всё сводится к написанию кода).
В распоряжение разработчиков существуют следующие средства: системы контроля версий, различные сервера для обмена файлами и системы управления проектами. Обо всём этом рассказывается в данной статье.

2 Системы контроля версий
2.1 Обзор различных систем.

Ситуация, в которой электронный документ за время своего существования претерпевает ряд изменений, достаточно типична. При этом часто бывает важно иметь не только последнюю версию, но и несколько предыдущих. В простейшем случае можно просто хранить несколько вариантов документа, нумеруя их соответствующим образом. Такой способ неэффективен (приходится хранить несколько практически идентичных копий), требует повышенного внимания и дисциплины и часто ведёт к ошибкам, поэтому были разработаны средства для автоматизации этой работы.
Система управления версиями (СУВ) -­‐ программное обеспечение для облегчения работы с изменяющейся информацией.
СУВ позволяет хранить несколько версий одного и того же документа, при необходимости возвращаться к более ранним версиям, определять, кто и когда сделал то или иное изменение и многое другое.
В общем и целом все системы контроля версий подразделяются на две категории: централизованные и распределённые.
Для централизованной системы управления версиями (ЦСУВ) репозиторий является единственным и хранится на сервере. Для распределённой системы управления версиями (РСУВ) каждый клиент хранит у себя полную копию репозитория локально.
CVS и Subversion (SVN) -­‐ две наиболее популярные централизованные системы контроля версий, в то время как Git, Mercurial, Bazaar и Darcs являются их распределёнными аналогами.
...
До этого мы рассматривали системы контроля версий, которые используют централизованную модель, когда имеется единое хранилище документов, управляемое специальным сервером, который и выполняет большую часть функций по управлению версиями, а именно на нём хранятся все отслеживаемые файлы, копии которых могут получить клиенты.
Такой подход имеет множество преимуществ, особенно над локальными СУВ. К примеру, все знаю, кто и чем занимается в проекте. У администраторов есть чёткий контроль над тем, кто и что может делать, и, конечно, администрировать ЦСУВ гораздо легче, чем локальные базы на каждом клиенте.

Теперь обратим внимание на распределённые системы контроля версий.
В таких системах как Git, Mercurial, Bazaar или Darcs клиенты не просто забирают последние версии файлов, а полностью копируют репозиторий. Поэтому в случае, когда «умирает» сервер, через который шла работа, любой клиентский репозиторий может быть скопирован обратно на сервер, чтобы восстановить базу данных. Каждый раз, когда клиент забирает свежую версию файлов, создаётся полная копия всех данных.

Кроме того, в большей части этих систем можно работать с несколькими
удалёнными репозиториями, таким образом, можно одновременно работать по-­‐разному с разными группами людеи& в рамках одного проекта. Так, в одном проекте
можно одновременно вести несколько типов рабочих процессов, что невозможно в централизованных системах.
Первой из них, по-­‐видимому, была Git. Проект был создан Линусом Торвальдсом для управления разработкой ядра Linux, первая версия выпущена 7 апреля 2005 года. Так как данную систему мы будем в дальнейшем рассматривать более подробно не будем останавливаться на ней сейчас.
Ещё одна распределённая система контроля версий -­‐ это Mercuria, от английского ртутный, подвижный, потому так же известна как Hg (от обозначения химического элемента ртути).
Mercurial -­‐ кроссплатформенная распределённая система управления версиями, разработанная для эффективной работы с очень большими репозиториями кода. Как и Git, в первую очередь, она является консольной программой.

Несколько особняком стоит система под названием Bazaar, первый выпуск которой произошёл в 2007 году.
Команды Bazaar очень похожи на команды, используемые в CVS или SVN. Для создания и поддержки нового проекта без использования специального сервера с репозиторием пользователю достаточно запустить простую команду в том каталоге, который нужно поместить под контроль версий.
В отличие от чисто распределённых систем контроля версий, которые не используют центральный сервер, Bazaar поддерживает работу как с сервером так и без него. Возможно даже использовать оба метода одновременно для одного и того же проекта.
Bazaar поддерживает работу напрямую с некоторыми другими системами контроля версий. Пользователи могут создавать новые ветки на основе репозиториев других систем (таких как Subversion или Git), делать локальные изменения и фиксировать их в Bazaar-­‐ветке, и затем отправлять свои изменения назад в оригинальный репозиторий. Bazaar поддерживает базовые операции с Subversion, а также с Git. Также начата работа над поддержкой Mercurial.
В системе Darcs, репозитории — это не синхронизированные друг с другом «острова», а система патчей. Darcs управляет потоками изменений между ними. В этом смысле Darcs принадлежит тому же поколению систем управления версий, что и Mercurial, Bazaar, Git. Поскольку в Darcs записываются и хранятся патчи, и есть алгебра их вычислений, то легко реализуются такие интересные возможности как спонтанные автоматические ветви, перестановка патчей и ряд других.
...

2.5 GIT сервер
Для совместной работы нескольким разработчикам в Git необходим удалённый репозиторий. Несмотря на то, что технически вы можете отправлять и забирать изменения непосредственно из личных репозиториев, делать это не рекомендуется по следующим причинам:
• легко можно испортить работу других;
• если ваш компьютер выключен, то доступ к репозиторию ограничен.
Поэтому предпочтительный метод взаимодейтсвия между разработчиками это создание промежуточного репозитория, к которому каждый имеет доступ, и отправка и получение изменений через него.
...

2.5.1 Протоколы
Git умеет работать с четырьмя сетевыми протоколами для передачи данных: локальный, Secure Shell (SSH), Git и HTTP. Важно понимать, что за исключение протокола HTTP, все эти протоколы требуют, чтобы Git был установлен и работал на сервере.
...

4 Системы управления проектами
Проблема эффективного совместного управления задачами очень актуальна для многих небольших команд. Учёт времени, возможность эффективного общения внутри команды вне зависимости от местоположения, распределение обязанностей и отчётность – вот те составляющие, без которых невозможно представить совместную работу онлайн, вне зависимости от того, сколько человек трудятся над проектом.
Конечно, вся информация по проекту может храниться в вордовском документе, а комментарии в коде могут встречаться реже снега в Сахаре. Но рано или поздно все мы сталкиваемся с необходимостью организовать своё рабочее время, усилия, задокументировать проект и так далее.
...

4.2.2 Итоги
У вас может быть несколько проектов, над которыми вы работаете параллельно; или какой-­‐то проект может быть подпроектом основного проекта. В таком случае Redmine, как система управления проектами организует единый центр ведения проектов с гибкими настройками ролей участников -­‐ один и тот же сотрудник может играть разные роли в разных проектах. Что не маловажно, использование единой системы, обеспечивает единый стандарт ведения проектов в организации.
Redmine обеспечивает визуальное представление задач, сроков, этапов проекта. Все знают, что делать дальше и видят цель. Благодаря использования данной системы достигается гибкая отчётность по проектам: кто, что и когда делал, делает и будет делать; видимость загруженности ресурсов и контроль сроков.
Есть возможность точной истории задач, автоматического построения диаграммы Ганта и отображения задач на календарном плане.
Система решает задачу социального взаимодействия в проектах, предоставляя встроенные проектные форумы (рисунок 4.2.6), доски новостей, базы знаний и возможность комментировать и обсуждать задачи.
...
Ключевые особенности Redmine:
• Поддержка множества проектов в одной системе. Каждый проект —
обособленное рабочее пространство со своими участниками, ролями и т.д.

• Тонкое разганичение ролей участников. Например, сотрудник может быть в одном проекте менеджером, а в другом исполнителем, а на остальные
проекты у него вообще нет никаких прав.

• Ведение шагов проекта (этапы, milestones).

• Гибкая система управления задачами. Задачи могут иметь произвольные поля,
относится к разным шагам проекта. Встроенное обсуждение по задачам.

• Отслеживание времени, затрачиваемого на задачи. Возможность записывать время потраченное на конкретную задачу за день, с автоматическим
подсчетом суммарного времени.

• Встроенная поддержка базы знаний проекта, которая реализована в форме
wiki, т.е. участники проекта, у которых есть соответствующие права могут
добавлять информацию в базу знаний.

• Привязка задач к календарю и возможность формирования актуальной
диаграммы Ганта. Автоматическая генерация отчета в виде диаграммы Ганта
и отображение состояния дел на календаре.

• Раздел новостей — место уведомления участников проекта о событиях.

• Файловое хранилище позволяет сохранять в системе файлы, относящиеся к
проекту, что исключает дублирование информации среди пользователей.

• Уведомления участников проекта по email и/или RSS об изменениях в проекте,
о поступлении новых задач, добавлении информации в базу знаний и других
важных событиях.

• Журнал работ по проекту, отображающий на одном экране сводную
активность по проекту.

• Встроенная поддержка обсуждений, типа форум.

• Интеграция с системами контроля версий типа Subversion, Git, Mercurial. Это
дает вам возможность подключаться к своей системе контроля версий без дополнительных манипуляций и видеть кто, когда и какие данные изменял в
системе. Актуально для команд разработчиков ПО.

• Расширение задач своими полями, в случае необходимости.

• Поддержка работы через интернет и в локальной сети. Все данные хранятся
на вашем сервере, в отличие от облачных сервисов, что гарантирует 100% доступность ваших данных и независимость от интернета. При необходимости систему можно сделать доступной и через интернет.

• Возможность работы как на Windows платформе так и на Linux, что дает вам еще один повод съэкономить на лицензии к серверной ОС.

• Работа на различных СУБД, таких как MySQL, PostgreSQL и других.

• Авторизация пользователей через LDAP, что позволяет использовать
существующую базу пользователей предприятия, заведенных в Windows.
...
Категория: Домашние задания (по сетям МИФИ) | Добавил: Ринсвинд (04.11.2012) | Автор: Григорий Жихарев
Просмотров: 1173 | Теги: Redmine, svn, SSH, Trac, git, ftp, IT-­design, VPN | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Поиск
Друзья сайта