June 1, 2021

Простейший сборочный конвейер 1С+Jenkins

Автоматизация тестирования обязательно должна включать в себя этап автоматизации запуска тестовых сценариев. Самым простым и доступным является система Jenkins.
Чтобы начать использовать Jenkins нужно совсем немного усилий. Самый простой конвейер можно собрать в связке 1С+Jenkins. В интернете огромное количество инструкций по установке Jenkins. Рассмотрим особенности установки на Windows машину, находящейся в сети с доменной аутентификацией.

Первое что требуется это установка JDK. С недавних пор Oracle существенно изменило лицензионную политику. Поэтому для установки можно воспользоваться Liberica JDK https://libericajdk.ru/pages/downloads/
Далее устанавливаем Jenkins, дистрибутив берем с официального сайта https://www.jenkins.io/download/

Jenkins устанавливается как служба, поэтому при установке потребуется указать логин и пароль пользователя, из под которого будет работать служба. При установке можно указать системную учетную запись, а после установки ее можно поменять на нужную уже непосредственно в службе. По умолчанию консоль управления доступна по адресу localhost:8080.

Больше ничего не требуется для того чтобы собрать простейший сборочный конвейер. В самом простом случае можно создать по одной задаче сборки на каждую базу. Одна такая задача может включать в себя неограниченное количество шагов. Например, в одной задаче может быть такая комбинация шагов:

  1. обновить тестовую базу из хранилища конфигурации
  2. выполнить синтаксис контроль обновленной конфигурации
  3. выполнить прогон тестов в обновленной конфигурации

Чтобы создать задачу конвейера нужно выполнить Создать Item -> Создать задачу со свободной конфигурацией. В форме новой задачи в разделе сборка нужно выполнить Добавить шаг сборки -> Выполнить команду Windows.

В поле Команда вводится командная строка, запускающая нужное действие.
Такая строка получает изменения из хранилища и обновляет конфигурацию базы данных:

"ПутьККаталогу1С\1cv8.exe" DESIGNER /ConfigurationRepositoryUpdateCfg -revised -force /DepotUpdateCfg /UpdateDBCfg /S"СерверПриложений\База" /N"Пользователь" /ConfigurationRepositoryUpdateCfg -revised -force /DepotUpdateCfg /UpdateDBCfg /DisableStartupDialogs /DisableStartupMessages /ConfigurationRepositoryF"ПутьКХранилищу" /ConfigurationRepositoryN"ПользовательХранилища"

Если в команде присутствуют русские символы может потребоваться установить нужную кодировку командой chcp. Последовательно добавляя шаги сборки можно получить нужную последовательность действий. Запуск задачи сборки проводит к последовательному выполнению шагов сборки.

Самая простая автоматизация запуска это запуск по расписанию. В разделе Триггеры сборки нужно установить Запускать периодически и появится поле для ввода расписания. Если нажать на синий вопрос справа, то появится подробнейшая инструкция по настройке расписания запуска.

Cохраняем заполненное задание, а дальше Jenkins сам начнет выполнять заданные действия.