Как подключиться к разработке модуля на drupal.org, если вас сделали разработчиком проекта

Мой первый опыт помощи сообществу на drupal.org начался сразу с того, что меня сделали Maintainer'ом проекта (главным разработчиком).
Для того, чтобы залить свою версию модуля в репозиторий проекта и сделать первый релиз, надо делать следующее:

  1. Если еще ни разу не работали с Git, надо выполнить все действия отсюда Obtaining Git access, а так же идентифицировать себя в git у себя на компе по этому мануалу Identifying yourself to Git (если вы под виндой и используете TortoiseGit, надо запустить Settings.exe, там раздел Git, там указываете имя и емейл, см. скриншот)
    0.1.jpg
    а так же привязать свой git к своей учётке на drupal.org по этому мануалу Authenticating with Git (для винды с TortoiseGit генерация ключа вообще элементарна - надо запустить прогу PuttyGen из той же папки TortoiseGit, не забудьте после генерации добавить публичный ключ в свой аккаунт drupal.org->profile->ssh keys->add public key)
    0.2.jpg
    Для того, чтобы убедиться, что всё правильно настроено, скачайте ту branch модуля, которую вы хотите дорабатывать (если она существует), или же любую другую для тестирования:
    1_0.jpg
    при этом указывайте свой приватный ключ, который мы сгенерировали программой puttygen. Операция должна пройти succesfull, при этом в первый раз нас спросят, сохранить ли открытый ssh ключ себе в хранилище - отвечаем "да".
    (я этот шаг пропустил т.к. уже работал с git раньше)
  2. Естественно, ваш модуль должен быть чистым, понятным для других, с кучей комментов как минимум к каждой функции, все строки заключены в функцию перевода t(), все переменные должны включаться в строку в безопасном виде - в общем, соблюдать http://drupal.org/coding-standards и http://drupal.org/writing-secure-code
  3. Чтобы понять, какие ветки уже существуют у модуля, надо зайти на страницу проекта этого модуля на drupal.org, вкладку Version control, там в выпадающем списке есть все branches этого модуля. Чтобы корректно разбираться в наименовании версии (например, 7.х-1.х-dev или 7.х.-2.1) лучше почитать эту инструкцию Structure of Drupal.org Git repositories и Release naming conventions
  4. После того, как разобрались, в какую ветку заливать наш код, надо или скачать её (если она существует), или создать свою. В моем случае она уже существовала. Как скачать существующую ветку я написал со скриншотом в конце пункта 1. При скачивании не забываем прикладывать свой private key, чтобы мы идентифицировались под своим логином drupal.org
  5. В скачанном коде, который уже содержится под контролем версий git, меняем нужные файлы - вставляем свой код, добавляем новые файлы и т.д.
  6. Git Commin - коммитим изменения, не забывая ставить галки на свежедобавленных файлах; обязательно надо написать комментарий, что сделано в этом коммите.
  7. Git Sync -> Push - заливаем наш коммит на серверный репозиторий, чтобы он был виден всем.
  8. Уже можно посмотреть на свой аккаунт - там появится запись о вашем участии в проекте https://drupal.org/user. Если записи о коммите там не появилось, значит вы что-то сделали неправильно.
  9. Если вы Maintainer модуля, то вам нужно будет сделать еще его релиз - хотя бы девелоперский. Для этого нужно прочитать статью Creating a project release. В статье сказано, что если нам надо создать лишь dev релиз, то нужно просто добавить этот релиз к проекту и немного подождать (5 минут). Соответственно заходим на страницу нашего проекта, и в самом её низу, рядом с иконкой rss должны быть три ссылки:
    View all releases
    Add new release
    Administer releases
    Нажимаем ссылку "Add new release", выбираем нужную нам ветку (я выбрал 7.x-1.x-dev), пишем в комментарии что нового в этом релизе и для чего он нужен, сохраняем. На странице проекта ничего не изменилось, потому что крон для dev-релизов запускается только два раза в сутки, соответственно максимум через 12 часов наш релиз появится на странице проекта. Если бы мы делали stable релиз модуля, он бы появился на странице спустя 5 минут.
    Для публикации stable релиза (жёлтенького или зелененького) нужно сделать следующее:
    сначала создать тег на текущей ветке. Для этого правый клик на папке с модулем, tortoisegit -> create tag
    в верхнем поле вписываем название тега, оно должно быть строго по стандарту, иначе не подхватится сайтом друпал.орг. Стандарты наименований тегов релизов здесь. Например, я называл свой тег 7.x-1.0-alpha1
    нажимаем ок.
    теперь надо залить этот тег в репозиторий на сервере, для этого открываем Git sync, на второй кнопке (которая push) нажимаем стрелочку и выбираем push tags, ок, наш новый таг залился. Ждем 5 минут, затем заходим в создание нового релиза проекта (как было описано выше), там в списке появится наш новый тег, можно создавать релиз на основе этого тега.

Теперь осталось только читать Issue к модулю, исправлять ошибки, добавлять новые фичи, заливать их опять в репозиторий, и через какое-то время создать нормальный релиз - хотя бы alpha-версию, рекомендованную для использования (зелёненькую), чтобы народ знал, что этот модуль можно использовать.
При ведении своего проекта обязательно применять приемы, описанные в статье Best practices for creating and maintaining projects

Удачи!

Комментарии

Добавить комментарий