пятница, 23 июля 2010 г.

Интегрируем Windows + Eclipse Helios + Git (GitHub)

  Совсем недавно вышла очередная верси Java IDE Eclipse под номером 3.6 и кодовым названием Helios. Одним из долгожданных нововведений стало включение поддержки распределенной системы версий Git в основной релиз Eclipse.

  Стоит отметить что поддержка Git для Eclipse была реализована намного раньше и включала в себя 2 модуля:
  • JGit - реализация Git на Java
  • EGit - собственно сам plugin для Eclipse
 Но включению этих модулей в Eclipse мешали лицензионные проблемы в несовместимости текущей лицензии J/EGit и Eclipse. Но за последнее время их удалось разрешить и EGit был включен в Eclipse Helios как Incubation проекты.

Некоторые Eclipse разработчики в своих блогах пишут что включение EGit в Eclipse стало поводом для миграции некоторых подроектов Eclipse c Svn/Cvs на Git. Вот и я решил попробовать новые возможности Git в маленьком R&D проекте. Но, как оказалось чтобы подружить Windows  + Eclipse + Git (GitHub) надо потратить немного времени на настройку и Gogglение. Я свое время уже потратил и расскажу о результатах.

  1. В первую очередь нам нужен Eclipse 3.6 Helios (или более новая версия). Скачать его можно на сайте Eclipse Foundation. Я использовал редакцию Eclipse IDE for Java EE Developers.
  2. Небходимо установить JGit и EGit, т.к. по умолчанию они не установлены. Для этого в Eclipse идет в  меню Help->Install New Software...
    1. В разделе Work With выбираем Helios
    2. В появившемся дереве плагинов выбираем раздел Collaboration
    3. Помечаем для установки модули JGit и EGit
    4. Нажимаем Finish
  3. Ставим Git
    1. Оффициальных сборок Git для Windows все еще нет
    2. На сайте проекта msysgit можно скачать специальную сборку для Windows.
    3. Я использовал вариант Git-1.7.0.2-preview20100309.exe 
    4. В процессе установки можно оставлять все опции в значениях по умолчанию
    5. После установки необходимо настроить 2 ключевых параметра
      1.   git config --global user.name "Pavel Vinogradov"
      2.   git config --global user.email pavel.vinogradov@email.com
    6. Также необходимо сгенерировать ssh ключ для работы с удаленными репозитариями по ssh
      1. для этого необходимо в проводнике Windows через контекстное меню открыть Git Bash
      2. В Git Bash нужно выполнить: ssh-keygen -C "pavel.vinogradov@nixdev.net" -t rsa
      3. Сгенерированный ключ будет храниться в вашем Windows профиле в папке .ssh
  4. Если у вас еще нет аккаунта на GitHub, тогда самое время его завести. GitHub на данный момент является самым популярным хостингом git репозитариев. Вы совершенно бесплатно можете хранить на нем до 300Mb кода в публичных репозитариях, а вот дальше придется платить.
    1. Создаем аккаунт
    2. Создаем проект с публичным репозитарием
    3. Загружаем публичный ключ из .ssh/id_rsa.pub
  5. Теперь в консоли мы можем не только работать с локальным git репозитарием, но и синхронизироваться с репозитарием на GitHub
  6. Соединяем проект Eclipse и GitHub
    1. Настраиваем ssh в Eclipse
      1. Eclipse в Windows самостоятельно работает с ssh, поэтому по умолчанию не видит ключей, которые мы сгененировали раннее. Это описано в Issue 104: SSH problem on Windows
      2. Идем в Window->Preferences->General->Network->SSH2 и в качестве Ssh Home указываем папку .ssh в вашей домашней директории
      3. После этого переходим на вкладку Key Management и выбираем Load Existing Key и указываем сгенерированный ключ
    2. Импорт проекта с GitHub
      1. Выбираем Import->Git->Projects from Git
      2. Вариант Clone
      3. В url указываем адрес репозиратрия: git@github.com:/.git
        1. В качестве протокола выбираем git+ssh
        2. В имени пользователя указываем git
      4. Eclipse автоматически воспользуется вашим ssh ключем для авторизации на GitHub
    3. Экспорт проекта на GitHub
      1. Выбираем Team->Push
      2. В качестве URLа назначения указываем адрес репозитраия проекта на GitHub
      3. Выбираем протокол git+ssh
  7. Профит. Работаем и радуемся.
Для дальнейшего ознакомления с EGit и Git рекомендую:

07.09.10: Небольшой бонус. Настройка Git Server на Vindows 7.

Книги/Рецензии: Том Демарко - Deadline. Роман об управлении проектами

В повседневной работе удалось найти небольшой кусочек свободного времени, который я посвятил знакомству с знаменитым произведением Демарко - Deadline.

Deadline. Роман об управлении проектами


Книга не имеет прямого отношения к разработке на каком-либо языке программирования. Она посвящена управлению разработчиками. Главной особенностью книги для меня является стиль изложения. Книга написана легким и нетехническим языком и представляет собой некий IT-роман.

Главный герой - мистер Томпкинс, получает уникальную возможность создать и возглавить лабораторию по изучению процессов разработки ПО. У него есть возможность на практике проверить как те или иные факторы влияют на срок сдачи проекта. Политика, изменение сроков, подбор персонала, метрики производительности, DDD и элементы Agile - это только часть факторов которые упоминаются в книге. По ходу книги проект, возглавляемый Томпкинсом проходит все стадии от идеального до жестокой реальности с политикой и директором садистом.

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