Сборка приложения, разработанного на EDT, с помощью gitlab-ci

Обмен - Интеграция с WEB

В статье описан пример сборки .cf файла при помощи штатных средств EDT, Конфигуратор.

Сборку будем производить на Windows машине с установленным GitLab-Runner, настроенным на выполнение команд CMD, а также установленной EDT.

Для начала нужно добавить строку в файл config.toml  

shell = "cmd"

Сам файл .gitlab-ci.yml имеет следующее содержание

variables:
#    CI_DEBUG_TRACE: "true" # Для целей отладки
    PLATFORM_1C: 'C:/Program Files (x86)\1cv8\8.3.10.2699\bin\1cv8.exe' # Используемая платформа для получения .CF файла. Обратите внимание на одинарные кавычки, в двойных кавычках переменная определяется неверно.
    BASE_1C: 'testbase' # пустая база 1С для целей загрузки/выгрузки нашего cf файла

ConvertEDT_XML: # Конвертация проекта из формата EDT в формат XML
  stage: build
  script:
   - md config
   - ring edt workspace export --project %CI_PROJECT_DIR%/ --configuration-files %CI_PROJECT_DIR%/config --workspace-location %CI_PROJECT_DIR%/workspace # Используем штатные средства утилиты ring идущей в составе поставки EDT
  only:
    - master

CreateBase: # Создаем пустую базу
  stage: build
  variables:
    GIT_STRATEGY: none
  script:
    - start "" /wait "%PLATFORM_1C%" CREATEINFOBASE File="%CI_PROJECT_DIR%/%BASE_1C%"
  only:
    - master
  
LoadConfig: # Загружаем в пустую базу конфигурацию из файлов
  stage: build
  variables:
    GIT_STRATEGY: none
  script:
    - start "" /wait "%PLATFORM_1C%" DESIGNER /F %CI_PROJECT_DIR%/%BASE_1C% /LoadConfigFromFiles %CI_PROJECT_DIR%/config /UpdateDBCfg
  only:
    - master

DumpConfig:
  stage: build
  variables:
    GIT_STRATEGY: none
  script:
    - md build # Создаем пустую папку для выгрузки в нее конфигурации
    - start "" /wait "%PLATFORM_1C%" DESIGNER /F %CI_PROJECT_DIR%/%BASE_1C% /DumpCfg %CI_PROJECT_DIR%/build/%CI_PIPELINE_ID%.cf # Выгружаем конфигурацию в файл с именем номера запущенного конвеера. 
  artifacts:
    name: "%CI_COMMIT_REF_NAME%"
    paths:
    - build/*.cf # Отправляем файл конфигурации архивированный .zip в наш проект на Gitlab 
    expire_in: 7 day # Указываем срок жизни нашего архива
  only:
    - master  

В итоге у нас получилась автоматическая сборка проекта в виде .cf файла с конфигурацией

К статье приложен файл настройки без комментариев.

Скачать файлы

Наименование Файл Версия Размер
.gitlab-ci
.yml 1,13Kb
29.05.18
0
.yml 1,13Kb Скачать

См. также

Комментарии
1. Иван Биткин (Vanch90) 30.05.18 07:29 Сейчас в теме
2. Vitor Makovkin (unmensch) 22 30.05.18 09:11 Сейчас в теме
(1) Чтобы руками не делать. Очевидно же..
4. Дмитрий Коротовских (Merc) 31.05.18 07:05 Сейчас в теме
5. Андрей (fenixnow) 55 31.05.18 09:37 Сейчас в теме
(4) Спасибо, приятно слышать.
Оставьте свое сообщение