Рубрики
Без рубрики

Автоматизация рабочего процесса, который может создать каждый, плюс Обновление статуса приложения Генератора

В этой статье я собираюсь описать свою внутреннюю установку, которую я сделал. Я автоматизировал несколько задач вокруг – создание, тестирование, развертывание, выполнение, повторные запланированные задачи. С тегами automation, java, flutter, jenkins.

В этой статье я собираюсь описать свою внутреннюю установку, которую я сделал. Я автоматизировал несколько задач – сборку, тестирование, развертывание, выполнение повторяющихся запланированных задач. Для этой цели я использовал Java-программы, локальную установку Tomcat и Jenkins. У заданий Дженкинса есть хорошая возможность запускать и выполнять несколько вариантов:

  • С помощью выражения CRON – запуск задания своевременно – каждый день, каждые пять минут, раз в неделю или независимо от того, что вы вводите в выражение CRON планирования.
  • Всякий раз, когда я фиксирую что–то в репозиториях Git, в которых есть некоторый код, используемый в настройке автоматизации, задание выполняется после подключения к сценарию git post update – вызывая простую команду cURL.
  • После выполнения задания – другое задание может быть запущено иерархическим, цепным способом – с дополнительными условиями для выполнения только в определенных статусах сборки.

Задачи развертывания – Самые основные задачи Дженкинса, которые у меня есть, – после того, как я что–то фиксирую, выполняется сценарий сборки с некоторым результатом – WAR–файлом, Zip-файлом, Jar, EXE или чем-то еще, и – процедура post загружает результат на мой сервер. Теоретически результат может быть отправлен по электронной почте, загружен в какое-нибудь облачное хранилище или даже в app store. Я этого не делал но это возможно.

Четкие задачи, задания резервного копирования – у меня есть задание, которое создает резервные копии баз данных на моем сайте. Наличие недавнего архива – это экономия времени. У меня также есть несколько задач, которые очищают некоторые специальные таблицы – таблицы завершения сборки, поэтому после того, как у меня появятся новые версии инструментов построения, все задачи “построить приложение из модели данных” выполняются снова.

Задачи CRON – задача резервного копирования является запланированным заданием. Кроме того, задачи, которые создают приложения на основе моделей данных, выполняются каждую “какую–то” минуту – 5,15 или что бы я ни считал подходящим.

Обновите исполняемые файлы CRON – Разработчики моделей данных – это просто простые банки. Они зависят от нескольких проектов или модулей, поэтому, когда у меня есть изменения в зависимостях, после успешного развертывания запускается несколько задач “обновить Jar”.

GeneratorApp – Это один из моих основных проектов. Он создает операции CRUD, слои, ориентированные на модели данных, и пользовательские интерфейсы на основе моих собственных или общедоступных моделей данных. У него есть задание на развертывание, после обновления развертывания исполняемые файлы CRON и задачи чистой сборки объединяются в цепочку и выполняются в рабочем потоке.

Конструктор приложений для Android Generator – Это приложение для создания приложений для Android на основе моделей данных. Он генерирует автономные операции CRUD с записями с вашими определениями. У меня есть идея распространить этот конструктор не только на автономные модели данных. Посмотрим, как все пойдет.

Flutter offline Web app GeneratorApp builder – Flutter – это кроссплатформенный фреймворк, на который я потратил большую часть 2019 года. В 2020 году я подумываю о том, чтобы отойти от него. Преимущество быстрого создания интерфейсов для всех платформ – настольных, мобильных, веб– с использованием практически только одного хранилища исходного кода – предназначено для продуктов на ранней стадии. Всякий раз, когда проект преуспевает, получая известность и немного денег, функция экономии времени устраняется и убивается недостатками – большим размером приложения, проблемами интеграции и тем фактом, что – нет истинного выхода из родной части. Всякий раз, когда приложение выполняет что–то большее, чем простые операции CRUD или “Привет, мир”, требуется собственный пакет.

В рамках эволюции моего инструмента у меня есть следующая версия моего Конструктор веб-приложений Flutter online . Он все еще находится в стадии бета-тестирования. Он создает операции crud с объединением моделей данных вокруг основной модели данных – “Пользователь/Профиль/Регистрация”. В моем собственном использовании я вижу, что требуется все больше и больше функций, поэтому конечный результат требует все меньшего и меньшего фактического изменения или обновления кода. И все новые функции требуют пользовательского кода, выходящего за рамки простых операций CRUD. Посмотрим, как пойдут дела в 2020 году, но я определенно рассматриваю всевозможные направления.

Оригинал: “https://dev.to/tomavelev/automation-workflow-that-everybody-could-create-plus-generator-app-status-update-2bcd”