Автоматизация развертывания RPGLE с помощью Gradle на IBM i

Есть ли у кого-нибудь опыт создания программного обеспечения IBM i: программы rpgle, sqlrpgle, clle, srvpgms с gradle?

Идея на данный момент такова:

  • весь исходный код хранится в репозитории git
  • jenkins ci, интегрированный с git, загружает обновление программного обеспечения
  • в фиксации также есть файл json, в котором хранится полное описание выпуска (информация о проекте, зависимости, описание всех объектов с инструкциями по сборке), точно так же, как pom.xml в maven
  • в этом месте jenkins должен запустить задачу gradle, которая должна собрать все программы из исходного кода в рабочем каталоге jenkins на основе инструкций в файле json. Но проблема в том, что компиляция для IBM i доступна только на сервере и для этого нет доступных плагинов.

Проект gradle должен быть примерно таким:

  • перенести исходный код на сервер
  • выполнить удаленную компиляцию каждого объекта с инструкциями из json
  • развертывание двоичных файлов в указанных библиотеках
  • выполнять команды - создавать датаара, изменять его, запускать sql-скрипты и другие

Итак, вопросы:

  1. Такая схема правильная?
  2. Верны ли этапы проекта Gradle?
  3. Как я могу реализовать это в gradle?

person Maxim Shatunov    schedule 08.06.2016    source источник
comment
Это хороший вопрос, который стоит задать. Я сомневаюсь, что есть кто-то, кто использует Gradle для создания программного обеспечения на платформе i. Я сомневаюсь, что в сообществе i есть несколько человек, которые хотя бы слышали о Gradle. (Я не слышал об этом, пока не прочитал этот вопрос, хотя я стараюсь быть в курсе новостей в мире основных вычислений, а не только в i.) Но в принципе реализовать вашу схему должно быть возможно.   -  person John Y    schedule 09.06.2016
comment
Я также хочу прояснить, что мне нравится этот вопрос, хотя он не совсем соответствует обычным рекомендациям по переполнению стека. Этот вопрос слишком широк, со слишком большим количеством подвопросов. Если бы он был нацелен на Linux, а не на IBM i, я бы действительно подумал о том, чтобы проголосовать за закрытие. Но я считаю важным, чтобы программное обеспечение, такое как Gradle, было представлено в сообществе IBM i (которое, как известно, не знает о внешних технологиях).   -  person John Y    schedule 09.06.2016


Ответы (1)


Я знаю, что немного опоздал, но для тех, кто читает это позже, вот мои 2 цента:

Я сделал Jenkins, Git и скомпилировал часть вопроса. Хотя я использовал простой сценарий оболочки вместо gradle, но это можно было настроить.

Вот мои задокументированные шаги: http://wiki.rpgnextgen.com/doku.php?id=ibm_i_and_continuous_integration

Для тестирования я использовал следующий репозиторий: https://bitbucket.org/m1hael/linkedlist.

person Mihael    schedule 01.08.2017