Предлагаю вашему вниманию вольный перевод статьи Грэма Робинсона ()  — abapGit so easy.

Вы Abap-разработчик? Используете ли вы abapGit?

Если вы ответили «Да» на первый вопрос, ответили ли вы «Да» на второй?

Возможно вы подумали: «Что такое abapGit?» — поэтому, давайте сразу начнем. Если коротко, то это клиент Git, написанный на ABAP для ABAP.

Некоторые из вас сейчас думают: «А что такое Git?». Извините, это выходит за рамки этой публикации, но, пожалуйста, воспользуйтесь Google, чтобы узнать об этом. И прошу вас, сделайте это прямо сейчас, а затем вернитесь к этой статье. Git является фундаментальной частью инструментария современного разработчика и, по моему скромному мнению, не стоит его игнорировать.

Вернемся к теме. abapGit — это проект с открытым исходным кодом, инициированный Lars Hvam под лицензией MIT.

На момент написания статьи у проекта 24 контрибьютера (прим. пер.: статья написана 21 июня, 2017 года). За последние 5 месяцев было более 400 записей, что свидетельствует о том, что это очень активный и яркий проект. Может быть, вы тоже захотите внести свой вклад и помочь сделать abapGit больше и лучше?

рис 2

Одной из целей конструктивного дизайна abapGit является его компактность. Это самый простой для установки проект ABAP — который КОГДА-ЛИБО был! Никаких транспортных запросов и множества шагов. Нет необходимости в предварительной установки других вещей. Не нужно ничего загружать. Не требуется никаких патчей или надстроек. Просто скопируйте и вставьте код в программу вашей системы разработки и активируйте ее.

Первое, что вы, возможно, захотите сделать после установки, — это подключиться к GitHub и обновить версию программы. Удивительная концепция не так ли? Мы можем выкачать последнюю версию проекта в любое удобное для нас время. Также abapGit имеет «фоновый режим», поэтому вы легко можете автоматизировать эту задачу.

Скорее всего, вы захотите использовать GitHub для хранения ваших разработок. Это самый популярный хостинг Git, он бесплатный, и содержит некоторые другие удивительные ABAP проекты с открытым исходным кодом, например такие как abap2xlxs (прим. пер.: подробнее можно посмотреть здесь).

Для настройки соединения abapGit с GitHub мы должны использовать TLS. Это означает, что мы должны установить некоторые корневые сертификаты в нашей системе, используя транзакцию STRUST. В документации по установке вы узнаете, как получить эти сертификаты и установить их. Также есть простая тестовая программа, с помощью которой вы можете проверить подключение к GitHub.

Если вы хотите подключить abapGit к другим серверам Git, они тоже могут использовать TLS. Поэтому вам может понадобиться установить другие корневые сертификаты, в зависимости от их центра сертификации.

Итак, теперь, когда все вышесказанное сделано, давайте посмотрим, как нам сослаться на репозиторий abapGit на GitHub, для того, чтобы обновить наш установленный код. Есть так называемый мастер, который поможет вам сделать это несколькими щелчками мыши.

Когда abapGit запускается в первый раз, перейдете на страницу обучения. Это можно сделать через меню Help-> Tutorial. Просто нажмите ссылку «install abapGit repo», чтобы начать процесс. Вам будет предложено подтвердить то, что вы хотите все установить в пакет $ABAPGIT. abapGit связывает репозитории Git (repos) с пакетами ABAP. Поэтому нам нужно хранить артефакты abapGit в собственном локальном пакете — в нашем случае $ABAPGIT. Также вам будет предложено перезаписать программу ZABAPGIT, которую вы только что создали. Нажмите: «Ok». Активируйте все артефакты, и все.

Чтобы завершить этот пост позвольте привести пример того, как abapGit облегчает жизнь разработчиков ABAP. Давайте рассмотрим следующий сценарий.

Для начала нам нужно клонировать репозиторий в пакет ABAP. Я буду использовать образец кода из моих недавних презентаций по Building Gateway Services, которые можно найти на сайте https://github.com/grahamrobbo/teched16_example

Посмотрите, насколько это легко? Несколько кликов здесь и там, и у меня уже все есть, ABAP-код скачан из GitHub в пакет, который я смог создать из интерфейса AbapGit, и все это уже активировано. Бум!

Теперь посмотрите, как я довольно самонадеянно решил, что мой код требует рефакторинга. Я нашел блестящее решение и удалил интерфейс ZIF_GW_METHODS, потому что забыл, что он повсюду используется. В один момент я потерял важную часть кода. Тот, что у меня есть, сломан, и я ничего не могу активировать. Аррррррр! Теперь мне нужно войти в систему тестирования, скопировать и вставить старый код оттуда, чтобы все вернуть как было? Предполагается, что я помню все остальные изменения, которые у меня были в процессе.

Или — я могу просто обновить свой пакет из последнего коммита в моем репозитории GitHub. И поскольку я коммитил раннее и часто, я не потерял ни одной из моих незавершенных работ.

И это только одно из преимуществ включения его в инструментарий разработчика ABAP.

Бонус для тех, кто дочитал до конца :^)

Спасибо!

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.