Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
H How-To
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Jira
    • Jira
  • Merge requests 0
    • Merge requests 0
  • Operations
    • Operations
    • Incidents
  • Analytics
    • Analytics
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • docs
  • How-To
  • Wiki
  • create new module

Last edited by Николай Кальгин Oct 04, 2017
Page history
This is an old version of this page. You can view the most recent version or browse the history.

create new module

Добавление нового модуля

При прочтении данной главы подразумевается, что вы уже ознакомились и поняли содержимое глав "Основы Git" и "Работа с подмодулями".

  1. Создать новый Git-репозиторий в соответствующей группе. Сейчас группировка репозиториев осуществляется по подсистемам, например, АБС (abs), нотификация (notify), платёжные системы (plat), ядро (core) и т.д. Если с определением подходящей группы возникают сложности, следует обратиться за помощью к более опытному сотруднику.

  2. После того как определились с группой и создали в ней новый репозиторий, который пока пуст, нужно заняться его наполнением. Для этого:

  • Склонировать новосозданный репозиторий в каталог проекта ibank_root.
git clone git@source.isimplelab.com:/<group_name>/<new_module_name.git>

После этого в каталоге проекта ibank_root появится пустой репозиторий. Наполняем его полезным содержимым и фиксируем это содержимое, добиваемся того чтобы новый модуль компилировался без ошибок (программа минимум) и выполнял свою работу в рамках поставленной задачи (то к чему нужно стремиться).

  • Только когда обе цели будут достигнуты, необходимо опубликовать свои наработки в центральном репозитории данного модуля, иначе говоря сделать push в основной ствол и, при необходимости, в стабильную ветку.
git commit -m "Создан новый модуль имя_нового_модуля"
# публикуем изменения в основном стволе центрального репозитория
git push origin master
# создаём новую ветку на основе текущего состояния ветки master
git branch ibankfl-branch-2-0-12-393
# публикуем изменения в стабильной ветке центрального репозитория
git push origin ibankfl-branch-2-0-12-393
  1. Новый репозиторий наполнен и уверены что он работает правильно. Настала пора прописать его в конфигурации приложения. Для этого:
  • Добавить в каталоге проекта ibank_root в файл settings.gradle в раздел include имя нового модуля. Имя нового модуля совпадает с именем каталога, куда он был склонирован. Добавить изменённый settings.gradle в индекс:
git add settings.gradle
  • Определиться чем является новый модуль. Кастомизацией конкретного банка или функциональным блоком, пригодным к использованию в нескольких банках. От этого выбора зависит куда дальше мы прописываем инструкции сборки. Если модуль является кастомизацией конкретного банка, то следующий шаг будет выполняться в модуле cust-ibank-customize
    Если модуль является функциональным блоком, пригодным к использованию в различных банках, то следующий шаг будет выполняться в модуле cust-ibank-ul-installer
  • Добавить в build.gradle в раздел dependencies дерективу
compile project(':имя_нового_модуля')
  • Изменения build.gradle, внесённые в cust-ibank-customize или cust-ibank-ul-installer, необходимо зафиксировать и опубликовать.
git add build.gradle
git commit -m "Добавлен новый модуль имя_нового_модуля"
git push origin master
  1. Добавить новый модуль в список подмодулей Git каталога проекта ibank_root. Для этого:
  • Удаляем новый модуль с из каталога проекта ibank_root. Можно переместить новый модуль в другой каталог, если опасаетесь его потерять. Важно чтобы его не было в каталоге ibank_root.
  • Создаём в каталоге проекта ibank_root подмодуль, клонируем в него удалённый репозиторий с новым модулем.
git submodule add git@source.isimplelab.com:/<group_name>/<new_module_name.git> new_module_name

При выполнении команды git submodule add Git запоминает связь каталога new_module_name и URL git@source.isimplelab.com:/<group_name>/<new_module_name.git>, автоматически клонируя репозиторий и добавляя его в индекс проекта ibank_root.

Изменения отражаются в файле .gitmodules.

  • Добавляем в индекс изменения, внесённые ранее в cust-ibank-customize или cust-ibank-ul-installer:
git add cust-ibank-customize
git add cust-ibank-ul-installer

Таким образом в следующий коммит ibank_root обязательно должны войти изменения в:

  1. settings.gradle;
  2. build.gradle модулей cust-ibank-customize или cust-ibank-ul-installer внесённые ранее;
  3. Добавление нового подмодуля Git.

Убедиться в этом можно просмотрев вывод команды git status, находясь в каталоге ibank_root.

  1. Последним шагом мы фиксируем изменения в структуре проекта ibank_root:
git commit -m "Добавлен подмодуль new_module_name"

И публикуем новую структуру проекта ibank_root в центральном репозитории:

git push origin master
Clone repository
  • Work in branches
  • clone ibank
  • create new module
  • create ssh key
  • git essentials
  • initial config
  • remove module
  • submodule basic