Давно уже работаю с Drupal, но все никак не мог собраться и найти время, чтобы разобраться с работой репозитория модулей. Определенным препятствием была необходимость использования утилиты git.
Сегодня закончил разработку модуля для одного из сайтов, и решил пройти весь путь по публикации проекта на drupal.org. Понятно, что идея опубликовать модуль появилась до начала работы над ним. В отличии от обычных кастомных модулей, которые пишутся очень часто при разработке на Drupal, к публикуемых модулям предъявляются более высокие требования.
Первые шаги
Создать репо вы можете, не имея на руках конечного продукта . До того как вы начнете загружать файлы, нужно сделать несколько предварительных шагов.
Опубликовать на drupal.org можно не только модуль. Это может быть тема, или даже движок тем (theme engine), ветка ядра друпала и т.д.
Но вероятнее всего, вы как и я уже имеете готовый проект, и вам не терпится его «тиснуть» в репозиторий.
Регистрация
Начинается все с регистрации на drupal.org.
После регистрации получúте доступ к git. Пройдите на страницу «моя учетная запись» и заполните данные, связанные с git access.
Вам предстоит выбрать псевдоним и дать согласие с условиями пользования сервисом. У меня, как видите, псевдоним уже выбран. Поменять его будет нельзя.
Создать новый проект
Дальше вы можете начать описание проекта, создав его страницу. Делается это также из раздела учетной записи пользователя drupal.org.
Переходим во вкладку «your projects» и кликаем по малозаметной ссылке «add a new project». Так вы попадете на скрин, который я поместил в самом начале статьи — выбор типа проекта.
В зависимости от типа проекта, анкета может содержать разные поля. Составьте описание, приложите картинки и т.п. Если что то не понятно — не беда, вы всегда сможете вернутся и отредактировать описание.
Тут важно определиться с коротким названием, которое изменить потом будет нельзя.
Сохранив анкету, вы увидите несколько вкладок. Пока репо для вашего модуля не создан, во вкладке «version control» будет висеть подсказка о том, как его создать для конкретного вашего случая. Примерно вот такая:
Т.е. нам прямо указывают на необходимость скачать GIT и начать работать через него.
GIT
Меня немного сбили с толку все разговоры о работе через SSH, пока я читал доки. Через SSH вас так просто на git.drupal.org не пустят, бросьте эту затею :). Нужно качать GIT и работать через эмулятор консоли, идущий в его комплекте. А вот он то уже и будет использовать SSH.
Качать GIT можно с сайта git-scm.com.
Запускайте консоль и создайте локальный репозиторий, следуя подсказкам вроде тех, что на предыдущем скрине. Отправьте локальную болванку на сервер git.drupal.org (commit-add-push).
Я писал модуль (mat) для 7й ветки ядра, потому указывал «git checkout -b 7.x-1.x» и «git push origin 7.x-1.x». Думаю, вы это тоже сообразили. :)
Углубляясь в GIT
Если все прошло удачно, обновите вкладку «version control». Тут появятся дальнейшие подсказки о том как работать c git, обновлять ваш проект, создавать новые версии проекта и т.п.
Работа с git — отдельная тема, но с подсказками drupal.org разобраться в ней будет не сложно.
При выполнении операций записи в хранилище от вас будет требоваться авторизация. В простом случае нужно будет вводить пароль от drupal.org. Второй вариант — использование ssh ключа. Более подробно об авторизации c GIT.