На базе 1С:Предприятие созданы целые экосистемы на крупных производственных предприятиях, созданы отдельные программные продукты на базе 1С и даже облачные сервисы . Именно поэтому разработка на базе этого программного продукта – особая ниша на рынке программных продуктов.
Мы, как компания франчайзи 1С, также имеем дело с разработкой на базе этого программного обеспечения и за долгие годы работы накопили немалый опыт и базу знаний. Но даже эти знания и опыт не всегда позволяют сократить сроки проекта, уменьшить Time To Market или выпустить программный продукт в назначенный и подготовленный маркетологами срок.
Именно поэтому, мы решили оптимизировать и автоматизировать процесс разработки ПО на базе программных продуктов 1С, используя современные методики и методологии DevOps для достижения следующих целей:
Выбор IDE для разработки или системы, собственно в которой пишут код (рабочее место для программиста), под 1С – невелик, есть 1С:EDT, но в ней частенько очень отстают платформы, под которые можно разрабатывать, а наш девиз – актуальный софт в нужное время, поэтому разработку ведем непосредственно в конфигураторе и скриптами забираем xml из нужной папки.
В качестве системы версионности используем Gitlab – On-Premises. Его же используем для CI/CD, именно поэтому и выбрали эту систему VCS, а также туда кладем отчет из Allure, но об этом чуть позже. CI запускается из dev-ветки – тестирование и загрузка кода в stage, тестирование кода в Stage.
Программисты работают в своих ветках по названию функций или исправлений. После успешного тестирования кода – отправляют запрос на слияние кода с dev-веткой. После визуального контроля кода тимлид подтверждает запрос и код из ветки программиста сливается с кодом в ветке Dev, после чего запускается сборка кода и различные тесты. Схема работы с VCS постоянно видоизменяется и оптимизируется. Схематично ее можно представить следующим образом:
Кроме наличия сервера, на котором размещены роли, интересующие нас в процессе разработки, также используется так называемый X-сервер: сервер с графической оболочкой: или Windows Server с установленной ролью Сервер терминалов, или Linux с графической оболочкой для запуска клиента 1С. Использование такого сервера обусловливается тем, что все тесты в 1С должны проходить в графическом режиме и имитировать взаимодействие пользователя с системой. Мы используем несколько таких серверов на различных операционных системах для проверки работы клиента на различных платформах.
Схема серверной структуры dev-среды может быть представлена следующим образом:
После успешного завершения тестов, CI формирует артефакт в виде расширения и кладет его в хранилище артефактов, откуда потом его может забрать менеджер проекта или же система CD для дальнейшего использования в prod-среде.
Если говорить о тестировании уже написанного в 1С коде, то для целей контроля написанного кода, кроме встроенного в конфигураторе механизма, мы используем SonarQube с соответствующими плагинами.
Для выполнения тестов UI в графическом интерфейсе используется приложение с исходным кодом Vanessa-Automation, которая позволяет в декларативном формате описать необходимые для проведения тестов действия. Важно заметить, что для формирования и отображения отчетов по тестированию, мы также используем Allure, который позволяет не только зафиксировать собственно ошибку в процессе тестирования, но и сделать скриншот ошибки, что для 1С очень важно для поиска истинных проблем ее возникновения.
После проведения тестов, сформированные с помощью CD CFE-файлы в результате сборки и тестирования выгружаются на Stage и, после тестирования QA, отправляются на Prod.
Внедрение методик DevOps в процессе разработки 1С на этом проекте помогло сократить более 40% времени на разворачивании dev-сред, тестировании и разворачивании написанного кода. Несмотря на то, что разработка на базе платформы 1С:Предприятие значительно отличается от обычной разработки ПО, гибкие методы и методики DevOps, а также большой выбор инструментов, помогли нашей команде добиться существенного сокращения времени выхода конечного продукта на рынок.
На сегодня мы предлагаем построение CI/CD для 1С разработки с последующим обслуживанием.
Закажите звонок специалиста!
Оставьте свои данные для того, чтобы специалист с вами связался.