# шаблон этапа StagesAndVariables stages: - StagesAndVariables - Lock - Copy - GetCF - FetchingAndConvert - Build - Update - UpdateDB - Test - Unlock variables: # Переменные ниже должны быть определены на сервере сборки #W_PLATFORM_1C: 'C:\Program Files\1cv8\8.3.17.1549\bin\1cv8.exe' # Путь к запускаемому толстому клиенту Windows #L_PLATFORM_1C: '/opt/1C/v8.3/x86_64/1cv8' # Путь к запускаемому толстому клиенту Linux #W_PLATFORM_1C_tc: 'C:\Program Files\1cv8\8.3.17.1549\bin\1cv8c.exe' # Путь к запускаемому тонкому клиенту Windows #L_PLATFORM_1C_tc: '/opt/1C/v8.3/x86_64/1cv8c' # Путь к запускаемому тонкому клиенту Linux # Переменные ниже могут быть определены на сервере сборки #CI_DEBUG_TRACE: "true" # credintial MAIN_PROJECT: 'DemoAM' # Индивидуальные задания этапа StagesAndVariables # Общие задания этапа StagesAndVariables # Единое задание для всех объектов сборки этапа # шаблон этапа Lock # Блокировка ИБ .job_template: &lock_job stage: Lock tags: - gui-command timeout: 15 minutes when: always script: - echo $DATABASENAME - echo Новый вариант - if [ ! $CI_BUILD_REF_NAME == $CI_DEFAULT_BRANCH ]; then - echo $L_PLATFORM_1C CREATEINFOBASE "Srvr=\"$SERVER_1C\"\;Ref=\"$DATABASENAME\"\;DBMS=\"PostgreSQL\"\;DBSrvr=\"$DBSERVER\"\;DB=\"$DATABASENAME\"\;DBUID=\"$DBUID\"\;DBPwd=\"$DBpwd\"\;SQLYOffs=2000\;CrSQLDB=Y\;SchJobDn=Y\;LicDstr=Y" /DisableStartupMessages /DisableStartupDialogs /DisableSplash > tmp.sh - echo export IB_EXIST=\$? >> tmp.sh - bash tmp.sh - fi # Строку ниже использовать только для кастомизированных библиотек БСП до версии 3.1.5 - if [ $LockVariant == SSL ]; then - $L_PLATFORM_1C_tc ENTERPRISE /S $SERVER_1C\\$DATABASENAME /N $USER_1C /P $PASS_1C /UC UpdateDB /DisableStartupMessages /C "ЗавершитьРаботуПользователей, , , Сообщение=Блокировка установлена по причине обновления информационной базы, КодРазрешения=UpdateDB, ОжиданиеМин=$W_LOCK" - else - $L_PLATFORM_1C_tc ENTERPRISE /S $SERVER_1C\\$DATABASENAME /N $USER_1C /P $PASS_1C /UC UpdateDB /DisableStartupMessages /C "ЗавершитьРаботуПользователей;;;$W_LOCK;Блокировка установлена по причине обновления информационной базы;UpdateDB" - fi # Можно заменить для версии БСП выше 3.1.5 на: (второй вариант с конечной блокировкой в 60 минут) # - $L_PLATFORM_1C_tc ENTERPRISE /S $SERVER_1C\\$DATABASENAME /N $USER_1C /P $PASS_1C /UC UpdateDB /DisableStartupMessages /C "ЗавершитьРаботуПользователей, , , Сообщение=Блокировка установлена по причине обновления информационной базы, КодРазрешения=UpdateDB, ОжиданиеМин=$W_LOCK, ДлительностьМин=60") # Конструкция dependencies: [] позволяет отключить загрузку артефактов сборки, если они не нужны. # При желании, можно настроить загрузку артефактов определеного задания, но для этого нужно полностью указать имя задания. # В текущей реализации этого пока сделать не получится, так как имена заданий формируются автоматичеси посредством # определения переменных шаблона, например, Lock_United: Определение происходит на самом последнем этапе, # и для этапе потребителя определить имя этапа источника, скорее всего не получится. dependencies: [] # Индивидуальные задания этапа Lock # Отдельное задание объекта сборки master этапа Lock Lock_DemoAM: <<: *lock_job variables: GIT_STRATEGY: none SERVER_1C: 'Ubuntu-VM2:1841' DATABASENAME: 'DemoAM' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' DBSERVER: 'Ubuntu-VM2' DBUID: 'postgres' W_LOCK: '1' LockVariant: 'STD' only: changes: - DemoAM/src/**/* refs: - master variables: - $CI_PIPELINE_SOURCE == 'web' || $CI_PIPELINE_SOURCE == 'schedule' || $CI_PIPELINE_SOURCE == 'api' # Отдельное задание объекта сборки dev/101 этапа Lock Lock_DAM.dev.101: <<: *lock_job variables: GIT_STRATEGY: none SERVER_1C: 'Ubuntu-VM2:1841' DATABASENAME: 'DAM.dev.101' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' DBSERVER: 'Ubuntu-VM2' DBUID: 'postgres' DBPwd: 'P@ssw0rd' W_LOCK: '1' LockVariant: 'STD' only: changes: - DemoAM/src/**/* refs: - dev/101 variables: - $CI_PIPELINE_SOURCE == 'web' || $CI_PIPELINE_SOURCE == 'schedule' || $CI_PIPELINE_SOURCE == 'api' # Отдельное задание объекта сборки Tst/101 этапа Lock Lock_DAM.Tst.101: <<: *lock_job variables: GIT_STRATEGY: none SERVER_1C: 'Ubuntu-VM2:1841' DATABASENAME: 'DAM.Tst.101' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' DBSERVER: 'Ubuntu-VM2' DBUID: 'postgres' DBPwd: 'P@ssw0rd' W_LOCK: '5' LockVariant: 'STD' only: changes: - DemoAM/src/**/* refs: - Tst/101 variables: - $CI_PIPELINE_SOURCE == 'web' || $CI_PIPELINE_SOURCE == 'schedule' || $CI_PIPELINE_SOURCE == 'api' # Общие задания этапа Lock # Отдельное задание объекта сборки BF/00-00000004 этапа Lock Lock_DAM.BF.00-00000004: <<: *lock_job variables: GIT_STRATEGY: none SERVER_1C: 'Ubuntu-VM2:1841' DATABASENAME: 'DAM.BF.00-00000004' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' DBSERVER: 'Ubuntu-VM2' DBUID: 'postgres' DBPwd: 'P@ssw0rd' W_LOCK: '1' LockVariant: 'STD' only: changes: - DemoAM/src/**/* refs: - BF/00-00000004 variables: # Запуск если событие линии помещение в ветку и это нет события запроса на слияние - $CI_OPEN_MERGE_REQUESTS == null && $CI_PIPELINE_SOURCE == 'push' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == null - $CI_PIPELINE_SOURCE == 'web' - $CI_PIPELINE_SOURCE == 'api' LockMR_DAM.BF.00-00000004: <<: *lock_job variables: GIT_STRATEGY: none SERVER_1C: 'Ubuntu-VM2:1841' DATABASENAME: 'DAM.BF.00-00000004' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' DBSERVER: 'Ubuntu-VM2' DBUID: 'postgres' DBPwd: 'P@ssw0rd' W_LOCK: '1' LockVariant: 'STD' only: changes: - DemoAM/src/**/* - VA-test/**/* refs: - merge_requests variables: # Запуск если событие линии запрос на слияние в ветку версии, пока её в лоб здесь напишем - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev/101' && $CI_BUILD_REF_NAME == 'BF/00-00000004' # Отдельное задание объекта сборки BF/00-00000007 этапа Lock Lock_DAM.BF.00-00000007: <<: *lock_job variables: GIT_STRATEGY: none SERVER_1C: 'Ubuntu-VM2:1841' DATABASENAME: 'DAM.BF.00-00000007' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' DBSERVER: 'Ubuntu-VM2' DBUID: 'postgres' DBPwd: 'P@ssw0rd' W_LOCK: '1' LockVariant: 'STD' only: changes: - DemoAM/src/**/* refs: - BF/00-00000007 variables: # Запуск если событие линии помещение в ветку и это нет события запроса на слияние - $CI_OPEN_MERGE_REQUESTS == null && $CI_PIPELINE_SOURCE == 'push' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == null - $CI_PIPELINE_SOURCE == 'web' - $CI_PIPELINE_SOURCE == 'api' LockMR_DAM.BF.00-00000007: <<: *lock_job variables: GIT_STRATEGY: none SERVER_1C: 'Ubuntu-VM2:1841' DATABASENAME: 'DAM.BF.00-00000007' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' DBSERVER: 'Ubuntu-VM2' DBUID: 'postgres' DBPwd: 'P@ssw0rd' W_LOCK: '1' LockVariant: 'STD' only: changes: - DemoAM/src/**/* - VA-test/**/* refs: - merge_requests variables: # Запуск если событие линии запрос на слияние в ветку версии, пока её в лоб здесь напишем - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev/101' && $CI_BUILD_REF_NAME == 'BF/00-00000007' # Отдельное задание объекта сборки BF/00-00000001 этапа Lock Lock_DAM.BF.00-00000001: <<: *lock_job variables: GIT_STRATEGY: none SERVER_1C: 'Ubuntu-VM2:1841' DATABASENAME: 'DAM.BF.00-00000001' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' DBSERVER: 'Ubuntu-VM2' DBUID: 'postgres' DBPwd: 'P@ssw0rd' W_LOCK: '1' LockVariant: 'STD' only: changes: - DemoAM/src/**/* refs: - BF/00-00000001 variables: # Запуск если событие линии помещение в ветку и это нет события запроса на слияние - $CI_OPEN_MERGE_REQUESTS == null && $CI_PIPELINE_SOURCE == 'push' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == null - $CI_PIPELINE_SOURCE == 'web' - $CI_PIPELINE_SOURCE == 'api' LockMR_DAM.BF.00-00000001: <<: *lock_job variables: GIT_STRATEGY: none SERVER_1C: 'Ubuntu-VM2:1841' DATABASENAME: 'DAM.BF.00-00000001' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' DBSERVER: 'Ubuntu-VM2' DBUID: 'postgres' DBPwd: 'P@ssw0rd' W_LOCK: '1' LockVariant: 'STD' only: changes: - DemoAM/src/**/* - VA-test/**/* refs: - merge_requests variables: # Запуск если событие линии запрос на слияние в ветку версии, пока её в лоб здесь напишем - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev/101' && $CI_BUILD_REF_NAME == 'BF/00-00000001' # Отдельное задание объекта сборки TP/00-00000001 этапа Lock Lock_DAM.TP.00-00000001: <<: *lock_job variables: GIT_STRATEGY: none SERVER_1C: 'Ubuntu-VM2:1841' DATABASENAME: 'DAM.TP.00-00000001' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' DBSERVER: 'Ubuntu-VM2' DBUID: 'postgres' DBPwd: 'P@ssw0rd' W_LOCK: '1' LockVariant: 'STD' only: changes: - DemoAM/src/**/* refs: - TP/00-00000001 variables: # Запуск если событие линии помещение в ветку и это нет события запроса на слияние - $CI_OPEN_MERGE_REQUESTS == null && $CI_PIPELINE_SOURCE == 'push' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == null - $CI_PIPELINE_SOURCE == 'web' - $CI_PIPELINE_SOURCE == 'api' LockMR_DAM.TP.00-00000001: <<: *lock_job variables: GIT_STRATEGY: none SERVER_1C: 'Ubuntu-VM2:1841' DATABASENAME: 'DAM.TP.00-00000001' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' DBSERVER: 'Ubuntu-VM2' DBUID: 'postgres' DBPwd: 'P@ssw0rd' W_LOCK: '1' LockVariant: 'STD' only: changes: - DemoAM/src/**/* - VA-test/**/* refs: - merge_requests variables: # Запуск если событие линии запрос на слияние в ветку версии, пока её в лоб здесь напишем - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev/101' && $CI_BUILD_REF_NAME == 'TP/00-00000001' # шаблон этапа Copy # Копирование баз .job_template: © tags: - update retry: 1 script: - echo Создаем архивную копию - /opt/pgpro/1c-11/bin/pg_dump -U $SourceUserName -h $SourceServerName -d $SourceDBName -F c -f $BackupFullPath - echo Удаляем текущие соединения - /opt/pgpro/1c-11/bin/psql -U $UserName -h $ServerName -d postgres -c "SELECT pg_terminate_backend(pid) FROM pg_stat_get_activity(NULL::integer) WHERE datid=(SELECT oid from pg_database where datname = '$DBName');" - echo Удаляем приемную базу, если она есть - /opt/pgpro/1c-11/bin/dropdb -U $UserName -h $ServerName --if-exists "$DBName" - echo Создаём пустую базу данных с требуемыми параметрами - /opt/pgpro/1c-11/bin/psql -U $UserName -h $ServerName -c "CREATE DATABASE \"$DBName\" WITH OWNER = $UserName ENCODING = 'UTF8' LC_COLLATE = 'ru_RU.UTF-8' LC_CTYPE = 'ru_RU.UTF-8' TABLESPACE = $TableSpace CONNECTION LIMIT = -1;" - echo Начинаем восстановление из архива - /opt/pgpro/1c-11/bin/pg_restore -U $UserName -h $ServerName -d $DBName $BackupFullPath - echo Удаляем временный архив - rm $BackupFullPath dependencies: [] # Индивидуальные задания этапа Copy # Отдельное задание объекта сборки dev/101 этапа Copy Copy_DAM.dev.101: <<: *copy stage: Copy variables: GIT_STRATEGY: none # Переменная шаблона Yes определяется как: ?(Параметры.ИБ.ЗамещаетсяПриСборке,"Yes","No") в идеале бы вообще не включать текст задания, # однако в текущей реализации механизма это не возможно. RunThis: 'Yes' # текст пакетного задания абсолютно эквивалентен тексту в шаблоне задания .job_template: ©, приведен здесь тольок для того, чтобы показать разность подхода: # - в описании скрипта шаблона следует использовать переменные окружения, например, $SourceServerName которые будут определены в секции variables задания, использующего шаблон: # variables : # SourceServerName: 'Ubuntu-VM2' # - при описании скрипта в теле самого задания переменные окружения можно не использовать, а можно сразу использовать переменные шаблона Ubuntu-VM2 # Такой подход продиктован тем, что шаблон задания копируется единожды, а задания, использующие его формируются для каждой информационной базы отдельно. # задания одного этапа для разных ИБ формируются так, что могут отрабатывать параллельно. # !ВАЖНО! Секцию нельзя переопредилить в задании частично, она заменяется полностью. script: - echo Создаем архивную копию - /opt/pgpro/1c-11/bin/pg_dump -U postgres -h Ubuntu-VM2 -d DemoAM -F c -f /pg-backup/BK$CI_JOB_ID.bakup - echo Удаляем текущие соединения - /opt/pgpro/1c-11/bin/psql -U postgres -h Ubuntu-VM2 -d postgres -c "SELECT pg_terminate_backend(pid) FROM pg_stat_get_activity(NULL::integer) WHERE datid=(SELECT oid from pg_database where datname = 'DAM.dev.101');" - echo Удаляем приемную базу, если она есть - /opt/pgpro/1c-11/bin/dropdb -U postgres -h Ubuntu-VM2 --if-exists "DAM.dev.101" - echo Создаём пустую базу данных с требуемыми параметрами - /opt/pgpro/1c-11/bin/psql -U postgres -h Ubuntu-VM2 -c "CREATE DATABASE \"DAM.dev.101\" WITH OWNER = postgres ENCODING = 'UTF8' LC_COLLATE = 'ru_RU.UTF-8' LC_CTYPE = 'ru_RU.UTF-8' TABLESPACE = pg_default CONNECTION LIMIT = -1;" - echo Начинаем восстановление из архива - /opt/pgpro/1c-11/bin/pg_restore -U postgres -h Ubuntu-VM2 -d DAM.dev.101 /pg-backup/BK$CI_JOB_ID.bakup - echo Удаляем временный архив - rm /pg-backup/BK$CI_JOB_ID.bakup only: changes: - DemoAM/src/**/* refs: - dev/101 variables: - $RunThis == 'Yes' && $CI_PIPELINE_SOURCE == 'web' || $RunThis == 'Yes' && $CI_PIPELINE_SOURCE == 'schedule' || $RunThis == 'Yes' && $CI_PIPELINE_SOURCE == 'api' # Отдельное задание объекта сборки Tst/101 этапа Copy Copy_DAM.Tst.101: <<: *copy stage: Copy variables: GIT_STRATEGY: none RunThis: 'Yes' TableSpace: 'pg_default' SourceServerName: 'Ubuntu-VM2' SourceUserName: 'postgres' SourcePassword: 'P@ssw0rd' SourceDBName: 'DAM.dev.101' BackupFullPath: '/pg-backup/BK$CI_JOB_ID.bakup' ServerName: 'Ubuntu-VM2' UserName: 'postgres' Password: 'P@ssw0rd' DBName: 'DAM.Tst.101' only: changes: - DemoAM/src/**/* refs: - Tst/101 variables: - $RunThis == 'Yes' && $CI_PIPELINE_SOURCE == 'web' || $RunThis == 'Yes' && $CI_PIPELINE_SOURCE == 'schedule' || $RunThis == 'Yes' && $CI_PIPELINE_SOURCE == 'api' # Общие задания этапа Copy # Отдельное задание объекта сборки master этапа Copy Copy_DemoAM: <<: *copy stage: Copy variables: GIT_STRATEGY: none RunThis: 'No' TableSpace: 'pg_default' SourceServerName: '' SourceUserName: '' SourcePassword: '' SourceDBName: '' BackupFullPath: '/pg-backup/BK$CI_JOB_ID.bakup' ServerName: 'Ubuntu-VM2' UserName: 'postgres' Password: 'P@ssw0rd' DBName: 'DemoAM' only: changes: - DemoAM/src/**/* refs: - master - merge_requests variables: # Запуск если событие линии запрос на слияние в ветку версии, пока её в лоб здесь напишем, копирование запускаем всегда - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev/101' && $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_BUILD_REF_NAME == 'master' # Запуск если событие линии помещение в ветку и это нет события запроса на слияние - $RunThis == 'Yes' && $CI_OPEN_MERGE_REQUESTS == null && $CI_PIPELINE_SOURCE == 'push' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == null - $RunThis == 'Yes' && $CI_PIPELINE_SOURCE == 'web' - $RunThis == 'Yes' && $CI_PIPELINE_SOURCE == 'api' # Отдельное задание объекта сборки BF/00-00000004 этапа Copy Copy_DAM.BF.00-00000004: <<: *copy stage: Copy variables: GIT_STRATEGY: none RunThis: 'No' TableSpace: 'pg_default' SourceServerName: 'Ubuntu-VM2' SourceUserName: 'postgres' SourcePassword: 'P@ssw0rd' SourceDBName: 'DAM.dev.101' BackupFullPath: '/pg-backup/BK$CI_JOB_ID.bakup' ServerName: 'Ubuntu-VM2' UserName: 'postgres' Password: 'P@ssw0rd' DBName: 'DAM.BF.00-00000004' only: changes: - DemoAM/src/**/* refs: - BF/00-00000004 - merge_requests variables: # Запуск если событие линии запрос на слияние в ветку версии, пока её в лоб здесь напишем, копирование запускаем всегда - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev/101' && $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_BUILD_REF_NAME == 'BF/00-00000004' # Запуск если событие линии помещение в ветку и это нет события запроса на слияние - $RunThis == 'Yes' && $CI_OPEN_MERGE_REQUESTS == null && $CI_PIPELINE_SOURCE == 'push' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == null - $RunThis == 'Yes' && $CI_PIPELINE_SOURCE == 'web' - $RunThis == 'Yes' && $CI_PIPELINE_SOURCE == 'api' # Отдельное задание объекта сборки BF/00-00000007 этапа Copy Copy_DAM.BF.00-00000007: <<: *copy stage: Copy variables: GIT_STRATEGY: none RunThis: 'No' TableSpace: 'my_psql_databases' SourceServerName: 'Ubuntu-VM2' SourceUserName: 'postgres' SourcePassword: 'P@ssw0rd' SourceDBName: 'DAM.dev.101' BackupFullPath: '/pg-backup/BK$CI_JOB_ID.bakup' ServerName: 'Ubuntu-VM2' UserName: 'postgres' Password: 'P@ssw0rd' DBName: 'DAM.BF.00-00000007' only: changes: - DemoAM/src/**/* refs: - BF/00-00000007 - merge_requests variables: # Запуск если событие линии запрос на слияние в ветку версии, пока её в лоб здесь напишем, копирование запускаем всегда - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev/101' && $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_BUILD_REF_NAME == 'BF/00-00000007' # Запуск если событие линии помещение в ветку и это нет события запроса на слияние - $RunThis == 'Yes' && $CI_OPEN_MERGE_REQUESTS == null && $CI_PIPELINE_SOURCE == 'push' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == null - $RunThis == 'Yes' && $CI_PIPELINE_SOURCE == 'web' - $RunThis == 'Yes' && $CI_PIPELINE_SOURCE == 'api' # Отдельное задание объекта сборки BF/00-00000001 этапа Copy Copy_DAM.BF.00-00000001: <<: *copy stage: Copy variables: GIT_STRATEGY: none RunThis: 'No' TableSpace: 'pg_default' SourceServerName: 'Ubuntu-VM2' SourceUserName: 'postgres' SourcePassword: 'P@ssw0rd' SourceDBName: 'DAM.dev.101' BackupFullPath: '/pg-backup/BK$CI_JOB_ID.bakup' ServerName: 'Ubuntu-VM2' UserName: 'postgres' Password: 'P@ssw0rd' DBName: 'DAM.BF.00-00000001' only: changes: - DemoAM/src/**/* refs: - BF/00-00000001 - merge_requests variables: # Запуск если событие линии запрос на слияние в ветку версии, пока её в лоб здесь напишем, копирование запускаем всегда - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev/101' && $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_BUILD_REF_NAME == 'BF/00-00000001' # Запуск если событие линии помещение в ветку и это нет события запроса на слияние - $RunThis == 'Yes' && $CI_OPEN_MERGE_REQUESTS == null && $CI_PIPELINE_SOURCE == 'push' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == null - $RunThis == 'Yes' && $CI_PIPELINE_SOURCE == 'web' - $RunThis == 'Yes' && $CI_PIPELINE_SOURCE == 'api' # Отдельное задание объекта сборки TP/00-00000001 этапа Copy Copy_DAM.TP.00-00000001: <<: *copy stage: Copy variables: GIT_STRATEGY: none RunThis: 'No' TableSpace: 'pg_default' SourceServerName: 'Ubuntu-VM2' SourceUserName: 'postgres' SourcePassword: 'P@ssw0rd' SourceDBName: 'DAM.dev.101' BackupFullPath: '/pg-backup/BK$CI_JOB_ID.bakup' ServerName: 'Ubuntu-VM2' UserName: 'postgres' Password: 'P@ssw0rd' DBName: 'DAM.TP.00-00000001' only: changes: - DemoAM/src/**/* refs: - TP/00-00000001 - merge_requests variables: # Запуск если событие линии запрос на слияние в ветку версии, пока её в лоб здесь напишем, копирование запускаем всегда - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev/101' && $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_BUILD_REF_NAME == 'TP/00-00000001' # Запуск если событие линии помещение в ветку и это нет события запроса на слияние - $RunThis == 'Yes' && $CI_OPEN_MERGE_REQUESTS == null && $CI_PIPELINE_SOURCE == 'push' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == null - $RunThis == 'Yes' && $CI_PIPELINE_SOURCE == 'web' - $RunThis == 'Yes' && $CI_PIPELINE_SOURCE == 'api' # шаблон этапа GetCF .job_template: &GetCF_job tags: - update retry: 1 script: - if [ -d OldCF_$CI_PIPELINE_ID ]; then rm -Rf OldCF_$CI_PIPELINE_ID; fi - mkdir OldCF_$CI_PIPELINE_ID - if [ ! -d logs ]; then mkdir logs; fi # Дополнительные CF для ветки мастер, если нужно обновление с более ранних релизов # если каталог, откуда нужно скопировать дополнительные конфигурации пуст, то строку ниже следует закоментировать, в противном случае скрипт будет остановлен из за ошибки копирования. #- if [ $CI_COMMIT_BRANCH == master ]; then cp //some_folder/*.CF $CI_PROJECT_DIR/OldCF_$CI_PIPELINE_ID # Основная текущая конфигурация из базы. - $L_PLATFORM_1C DESIGNER /S $DATABASENAME /N $USER_1C /P $PASS_1C /DisableStartupMessages /DisableStartupDialogs /DisableSplash /UC UpdateDB /DumpCfg $CI_PROJECT_DIR/OldCF_$CI_PIPELINE_ID/1cv8_$CI_JOB_ID.cf /Out $CI_PROJECT_DIR/logs/$LOG_NAME artifacts: when: always paths: - logs/$LOG_NAME - OldCF_$CI_PIPELINE_ID/*.cf expire_in: 1 day # Индивидуальные задания этапа GetCF # Отдельное задание объекта сборки dev/101 этапа GetCF GetCF_DAM.dev.101: <<: *GetCF_job stage: GetCF variables: DATABASENAME: 'Ubuntu-VM2:1841\\DAM.dev.101' GIT_STRATEGY: none LOG_NAME: '.GetCF_DAM.dev.101.txt' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' only: changes: - DemoAM/src/**/* refs: - dev/101 variables: - $CI_PIPELINE_SOURCE == 'web' || $CI_PIPELINE_SOURCE == 'schedule' || $CI_PIPELINE_SOURCE == 'api' # Отдельное задание объекта сборки Tst/101 этапа GetCF GetCF_DAM.Tst.101: <<: *GetCF_job stage: GetCF variables: DATABASENAME: 'Ubuntu-VM2:1841\\DAM.Tst.101' GIT_STRATEGY: none LOG_NAME: '.GetCF_DAM.Tst.101.txt' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' only: changes: - DemoAM/src/**/* refs: - Tst/101 variables: - $CI_PIPELINE_SOURCE == 'web' || $CI_PIPELINE_SOURCE == 'schedule' || $CI_PIPELINE_SOURCE == 'api' # Общие задания этапа GetCF # Отдельное задание объекта сборки master этапа GetCF GetCF_DemoAM: <<: *GetCF_job stage: GetCF variables: DATABASENAME: 'Ubuntu-VM2:1841\\DemoAM' GIT_STRATEGY: none LOG_NAME: '.GetCF_DemoAM.txt' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' only: changes: - DemoAM/src/**/* refs: - master - merge_requests variables: - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev/101' && $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_BUILD_REF_NAME == 'master' - $CI_OPEN_MERGE_REQUESTS == null && $CI_PIPELINE_SOURCE == 'push' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == null - $CI_PIPELINE_SOURCE == 'web' - $CI_PIPELINE_SOURCE == 'api' # except: # changes: # - VA-test/**/* # Отдельное задание объекта сборки BF/00-00000004 этапа GetCF GetCF_DAM.BF.00-00000004: <<: *GetCF_job stage: GetCF variables: DATABASENAME: 'Ubuntu-VM2:1841\\DAM.BF.00-00000004' GIT_STRATEGY: none LOG_NAME: '.GetCF_DAM.BF.00-00000004.txt' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' only: changes: - DemoAM/src/**/* refs: - BF/00-00000004 - merge_requests variables: - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev/101' && $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_BUILD_REF_NAME == 'BF/00-00000004' - $CI_OPEN_MERGE_REQUESTS == null && $CI_PIPELINE_SOURCE == 'push' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == null - $CI_PIPELINE_SOURCE == 'web' - $CI_PIPELINE_SOURCE == 'api' # except: # changes: # - VA-test/**/* # Отдельное задание объекта сборки BF/00-00000007 этапа GetCF GetCF_DAM.BF.00-00000007: <<: *GetCF_job stage: GetCF variables: DATABASENAME: 'Ubuntu-VM2:1841\\DAM.BF.00-00000007' GIT_STRATEGY: none LOG_NAME: '.GetCF_DAM.BF.00-00000007.txt' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' only: changes: - DemoAM/src/**/* refs: - BF/00-00000007 - merge_requests variables: - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev/101' && $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_BUILD_REF_NAME == 'BF/00-00000007' - $CI_OPEN_MERGE_REQUESTS == null && $CI_PIPELINE_SOURCE == 'push' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == null - $CI_PIPELINE_SOURCE == 'web' - $CI_PIPELINE_SOURCE == 'api' # except: # changes: # - VA-test/**/* # Отдельное задание объекта сборки BF/00-00000001 этапа GetCF GetCF_DAM.BF.00-00000001: <<: *GetCF_job stage: GetCF variables: DATABASENAME: 'Ubuntu-VM2:1841\\DAM.BF.00-00000001' GIT_STRATEGY: none LOG_NAME: '.GetCF_DAM.BF.00-00000001.txt' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' only: changes: - DemoAM/src/**/* refs: - BF/00-00000001 - merge_requests variables: - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev/101' && $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_BUILD_REF_NAME == 'BF/00-00000001' - $CI_OPEN_MERGE_REQUESTS == null && $CI_PIPELINE_SOURCE == 'push' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == null - $CI_PIPELINE_SOURCE == 'web' - $CI_PIPELINE_SOURCE == 'api' # except: # changes: # - VA-test/**/* # Отдельное задание объекта сборки TP/00-00000001 этапа GetCF GetCF_DAM.TP.00-00000001: <<: *GetCF_job stage: GetCF variables: DATABASENAME: 'Ubuntu-VM2:1841\\DAM.TP.00-00000001' GIT_STRATEGY: none LOG_NAME: '.GetCF_DAM.TP.00-00000001.txt' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' only: changes: - DemoAM/src/**/* refs: - TP/00-00000001 - merge_requests variables: - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev/101' && $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_BUILD_REF_NAME == 'TP/00-00000001' - $CI_OPEN_MERGE_REQUESTS == null && $CI_PIPELINE_SOURCE == 'push' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == null - $CI_PIPELINE_SOURCE == 'web' - $CI_PIPELINE_SOURCE == 'api' # except: # changes: # - VA-test/**/* # шаблон этапа FetchingAndConvert # Получение из git .job_template: &fetching_and_convert_job tags: - convertation script: - echo CI_CONCURRENT_ID = $CI_CONCURRENT_ID #- SET RING_OPTS=-Dfile.encoding=UTF-8 - if [ -d $CI_BUILDS_DIR/config$CI_PIPELINE_ID ]; then rm -Rf $CI_BUILDS_DIR/config$CI_PIPELINE_ID; fi - ring edt workspace export --project $CI_PROJECT_DIR/$MAIN_PROJECT --configuration-files $CI_BUILDS_DIR/config$CI_PIPELINE_ID --workspace-location $CI_BUILDS_DIR/$CI_RUNNER_SHORT_TOKEN/workspace$CI_CONCURRENT_ID dependencies: [] # Индивидуальные задания этапа FetchingAndConvert # Отдельное задание объекта сборки dev/101 этапа FetchingAndConvert FetchAndConvert_dev/101: <<: *fetching_and_convert_job stage: FetchingAndConvert only: refs: - dev/101 changes: - DemoAM/src/**/* variables: - $CI_PIPELINE_SOURCE == 'web' || $CI_PIPELINE_SOURCE == 'schedule' || $CI_PIPELINE_SOURCE == 'api' # Отдельное задание объекта сборки Tst/101 этапа FetchingAndConvert FetchAndConvert_Tst/101: <<: *fetching_and_convert_job stage: FetchingAndConvert only: refs: - Tst/101 changes: - DemoAM/src/**/* variables: - $CI_PIPELINE_SOURCE == 'web' || $CI_PIPELINE_SOURCE == 'schedule' || $CI_PIPELINE_SOURCE == 'api' # Общие задания этапа FetchingAndConvert # Единое задание для всех объектов сборки этапа FetchAndConvert_United: <<: *fetching_and_convert_job stage: FetchingAndConvert only: refs: - master - BF/00-00000004 - BF/00-00000007 - BF/00-00000001 - TP/00-00000001 - merge_requests changes: - DemoAM/src/**/* variables: - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev/101' && $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_BUILD_REF_NAME == 'master' - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev/101' && $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_BUILD_REF_NAME == 'BF/00-00000004' - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev/101' && $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_BUILD_REF_NAME == 'BF/00-00000007' - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev/101' && $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_BUILD_REF_NAME == 'BF/00-00000001' - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev/101' && $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_BUILD_REF_NAME == 'TP/00-00000001' - $CI_OPEN_MERGE_REQUESTS == null && $CI_PIPELINE_SOURCE == 'push' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == null - $CI_PIPELINE_SOURCE == 'web' - $CI_PIPELINE_SOURCE == 'api' # except: # changes: # - VA-test/**/* # шаблон этапа Build # Сборка CF, CFU .job_template: &build_job tags: - build stage: Build script: - export FLST= - for file in OldCF_$CI_PIPELINE_ID/*; do export FLST="$FLST -f $file"; done - echo $FLST - if [ ! -d logs ]; then mkdir logs; fi - if [ -d $CI_BUILDS_DIR/tempdb$CI_PIPELINE_ID ]; then rm -Rf $CI_BUILDS_DIR/tempdb$CI_PIPELINE_ID; fi - $L_PLATFORM_1C CREATEINFOBASE File=$CI_BUILDS_DIR/tempdb$CI_PIPELINE_ID /DisableStartupMessages /DisableStartupDialogs /DisableSplash - $L_PLATFORM_1C DESIGNER /F $CI_BUILDS_DIR/tempdb$CI_PIPELINE_ID /DisableStartupMessages /DisableStartupDialogs /DisableSplash /LoadConfigFromFiles $CI_BUILDS_DIR/config$CI_PIPELINE_ID /UpdateDBCfg /Out $CI_PROJECT_DIR/logs/.build_log.txt # - start "" /wait "C:\program files\1cv8\8.3.20.1710\bin\ibcmd.exe" infobase create --db-path=%CI_BUILDS_DIR%/tempdb%CI_PIPELINE_ID% --apply --import=%CI_BUILDS_DIR%/config%CI_PIPELINE_ID% --data=%CI_BUILDS_DIR%/%CI_RUNNER_SHORT_TOKEN%/DATA%CI_CONCURRENT_ID% --force - if [ -v FLST ]; then - $L_PLATFORM_1C DESIGNER /F $CI_BUILDS_DIR/tempdb$CI_PIPELINE_ID /DisableStartupMessages /DisableStartupDialogs /DisableSplash /CreateDistributionFiles -cfufile $CI_PROJECT_DIR/tempdb/update.cfu $FLST /Out $CI_PROJECT_DIR/logs/.cfu_make.txt; - else - $L_PLATFORM_1C DESIGNER /F $CI_BUILDS_DIR/tempdb$CI_PIPELINE_ID /DisableStartupMessages /DisableStartupDialogs /DisableSplash /CreateDistributionFiles -cffile $CI_PROJECT_DIR/tempdb/update.cf /Out $CI_PROJECT_DIR/logs/.cfu_make.txt - fi - rm -Rf $CI_BUILDS_DIR/config$CI_PIPELINE_ID - rm -Rf $CI_BUILDS_DIR/tempdb$CI_PIPELINE_ID artifacts: when: always paths: - logs/.cfu_make.txt - logs/.build_log.txt - tempdb/update.cfu expire_in: 1 day # needs: ["Convertation"] #Ручная очистка для упавших пайпов. .job_template: &ClearBuildData_job tags: - build stage: Build variables: GIT_STRATEGY: none script: - rm -Rf $CI_BUILDS_DIR/config$CI_PIPELINE_ID - rm -Rf $CI_BUILDS_DIR/tempdb$CI_PIPELINE_ID when: manual dependencies: [] # Индивидуальные задания этапа Build # Отдельное задание объекта сборки master этапа Build Build_master: <<: *build_job variables: GIT_STRATEGY: none only: refs: - master changes: - DemoAM/src/**/* variables: - $CI_PIPELINE_SOURCE == 'web' || $CI_PIPELINE_SOURCE == 'schedule' || $CI_PIPELINE_SOURCE == 'api' script: - export FLST= - for file in OldCF_$CI_PIPELINE_ID/*; do export FLST="$FLST -f $file"; done - echo $FLST - if [ ! -d logs ]; then mkdir logs; fi - if [ -d $CI_BUILDS_DIR/tempdb$CI_PIPELINE_ID ]; then rm -Rf $CI_BUILDS_DIR/tempdb$CI_PIPELINE_ID; fi - $L_PLATFORM_1C CREATEINFOBASE File=$CI_BUILDS_DIR/tempdb$CI_PIPELINE_ID /DisableStartupMessages /DisableStartupDialogs /DisableSplash - $L_PLATFORM_1C DESIGNER /F $CI_BUILDS_DIR/tempdb$CI_PIPELINE_ID /DisableStartupMessages /DisableStartupDialogs /DisableSplash /LoadConfigFromFiles $CI_BUILDS_DIR/config$CI_PIPELINE_ID /UpdateDBCfg /Out $CI_PROJECT_DIR/logs/.build_log.txt # - start "" /wait "C:\program files\1cv8\8.3.20.1710\bin\ibcmd.exe" infobase create --db-path=%CI_BUILDS_DIR%/tempdb%CI_PIPELINE_ID% --apply --import=%CI_BUILDS_DIR%/config%CI_PIPELINE_ID% --data=%CI_BUILDS_DIR%/%CI_RUNNER_SHORT_TOKEN%/DATA%CI_CONCURRENT_ID% --force - if [ -v FLST ]; then - $L_PLATFORM_1C DESIGNER /F $CI_BUILDS_DIR/tempdb$CI_PIPELINE_ID /DisableStartupMessages /DisableStartupDialogs /DisableSplash /CreateDistributionFiles -cffile $CI_PROJECT_DIR/tempdb/update.cf -cfufile $CI_PROJECT_DIR/tempdb/update.cfu $FLST /Out $CI_PROJECT_DIR/logs/.cfu_make.txt; - else - $L_PLATFORM_1C DESIGNER /F $CI_BUILDS_DIR/tempdb$CI_PIPELINE_ID /DisableStartupMessages /DisableStartupDialogs /DisableSplash /CreateDistributionFiles -cffile $CI_PROJECT_DIR/tempdb/update.cf /Out $CI_PROJECT_DIR/logs/.cfu_make.txt - fi - rm -Rf $CI_BUILDS_DIR/config$CI_PIPELINE_ID - rm -Rf $CI_BUILDS_DIR/tempdb$CI_PIPELINE_ID artifacts: when: always paths: - logs/.cfu_make.txt - logs/.build_log.txt - tempdb/update.cf* expire_in: 2 week ClearBuildData_master: <<: *ClearBuildData_job only: refs: - master changes: - DemoAM/src/**/* variables: - $CI_PIPELINE_SOURCE == 'web' || $CI_PIPELINE_SOURCE == 'schedule' || $CI_PIPELINE_SOURCE == 'api' # Отдельное задание объекта сборки dev/101 этапа Build Build_dev/101: <<: *build_job stage: Build variables: GIT_STRATEGY: none only: refs: - dev/101 changes: - DemoAM/src/**/* variables: - $CI_PIPELINE_SOURCE == 'web' || $CI_PIPELINE_SOURCE == 'schedule' || $CI_PIPELINE_SOURCE == 'api' ClearBuildData_dev/101: <<: *ClearBuildData_job only: refs: - dev/101 changes: - DemoAM/src/**/* variables: - $CI_PIPELINE_SOURCE == 'web' || $CI_PIPELINE_SOURCE == 'schedule' || $CI_PIPELINE_SOURCE == 'api' # Отдельное задание объекта сборки Tst/101 этапа Build Build_Tst/101: <<: *build_job stage: Build variables: GIT_STRATEGY: none only: refs: - Tst/101 changes: - DemoAM/src/**/* variables: - $CI_PIPELINE_SOURCE == 'web' || $CI_PIPELINE_SOURCE == 'schedule' ClearBuildData_Tst/101: <<: *ClearBuildData_job only: refs: - Tst/101 changes: - DemoAM/src/**/* variables: - $CI_PIPELINE_SOURCE == 'web' || $CI_PIPELINE_SOURCE == 'schedule' # Общие задания этапа Build # Единое задание для всех объектов сборки этапа Build_United: <<: *build_job stage: Build variables: GIT_STRATEGY: none only: refs: - BF/00-00000004 - BF/00-00000007 - BF/00-00000001 - TP/00-00000001 - merge_requests changes: - DemoAM/src/**/* variables: - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev/101' && $CI_BUILD_REF_NAME == 'BF/00-00000004' && $CI_PIPELINE_SOURCE == 'merge_request_event' - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev/101' && $CI_BUILD_REF_NAME == 'BF/00-00000007' && $CI_PIPELINE_SOURCE == 'merge_request_event' - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev/101' && $CI_BUILD_REF_NAME == 'BF/00-00000001' && $CI_PIPELINE_SOURCE == 'merge_request_event' - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev/101' && $CI_BUILD_REF_NAME == 'TP/00-00000001' && $CI_PIPELINE_SOURCE == 'merge_request_event' - $CI_OPEN_MERGE_REQUESTS == null && $CI_PIPELINE_SOURCE == 'push' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == null - $CI_PIPELINE_SOURCE == 'web' - $CI_PIPELINE_SOURCE == 'api' # except: # changes: # - VA-test/**/* ClearBuildData_United: <<: *ClearBuildData_job only: refs: - BF/00-00000004 - BF/00-00000007 - BF/00-00000001 - TP/00-00000001 - merge_requests changes: - DemoAM/src/**/* variables: - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev-101' && $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_BUILD_REF_NAME == 'BF/00-00000004' - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev-101' && $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_BUILD_REF_NAME == 'BF/00-00000007' - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev-101' && $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_BUILD_REF_NAME == 'BF/00-00000001' - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev-101' && $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_BUILD_REF_NAME == 'TP/00-00000001' - $CI_OPEN_MERGE_REQUESTS == null && $CI_PIPELINE_SOURCE == 'push' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == null - $CI_PIPELINE_SOURCE == 'web' - $CI_PIPELINE_SOURCE == 'api' # except: # changes: # - VA-test/**/* # шаблон этапа Update # Обновляем базу из CF .job_template: &update_job tags: - update retry: 1 script: - if [ ! -d logs ]; then mkdir logs; fi - if [ -f tempdb/update.cfu ]; then export UpdFile=tempdb/update.cfu; else export UpdFile=tempdb/update.cf; fi - $L_PLATFORM_1C DESIGNER /S $DATABASENAME /N $USER_1C /P $PASS_1C /UC UpdateDB /DisableStartupMessages /DisableStartupDialogs /DisableSplash /UpdateCfg $CI_PROJECT_DIR/$UpdFile /Out $CI_PROJECT_DIR/logs/$LOG_NAME - for fld in OldCF_*; do rm -Rf $fld; done # dependencies: ["Build"] # Индивидуальные задания этапа Update # Отдельное задание объекта сборки dev/101 этапа Update Update_DAM.dev.101: <<: *update_job stage: Update variables: DATABASENAME: 'Ubuntu-VM2:1841\\DAM.dev.101' GIT_STRATEGY: none LOG_NAME: '.update_DAM.dev.101.txt' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' allow_failure: true script: - if [ ! -d logs ]; then mkdir logs; fi - if [ -f tempdb/update.cfu ]; then export UpdFile=tempdb/update.cfu; else export UpdFile=tempdb/update.cf; fi - $L_PLATFORM_1C DESIGNER /S $DATABASENAME /N $USER_1C /P $PASS_1C /UC UpdateDB /DisableStartupMessages /DisableStartupDialogs /DisableSplash /UpdateCfg $CI_PROJECT_DIR/$UpdFile /Out $CI_PROJECT_DIR/logs/$LOG_NAME - for fld in OldCF_*; do rm -Rf $fld; done # - if [ $ReplaceExt == Yes ]; then # - $L_PLATFORM_1C DESIGNER /S $DATABASENAME /N $USER_1C /P $PASS_1C /UC UpdateDB /DisableStartupMessages /DisableStartupDialogs /DisableSplash /ConfigurationRepositoryUnbindCfg -force -Extension someext.cfe /Out $CI_PROJECT_DIR/logs/$LOG_NAME -NoTruncate # timeout: 10 hours only: changes: - DemoAM/src/**/* refs: - dev/101 variables: - $CI_PIPELINE_SOURCE == 'web' || $CI_PIPELINE_SOURCE == 'schedule' || $CI_PIPELINE_SOURCE == 'api' artifacts: when: always paths: - logs/$LOG_NAME expire_in: 1 day # Отдельное задание объекта сборки Tst/101 этапа Update Update_DAM.Tst.101: <<: *update_job stage: Update variables: DATABASENAME: 'Ubuntu-VM2:1841\\DAM.Tst.101' GIT_STRATEGY: none LOG_NAME: '.update_DAM.Tst.101.txt' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' only: changes: - DemoAM/src/**/* refs: - Tst/101 variables: - $CI_PIPELINE_SOURCE == 'web' || $CI_PIPELINE_SOURCE == 'schedule' || $CI_PIPELINE_SOURCE == 'api' artifacts: when: always paths: - logs/$LOG_NAME expire_in: 1 day # Общие задания этапа Update # Отдельное задание объекта сборки master этапа Update Update_DemoAM: <<: *update_job stage: Update variables: DATABASENAME: 'Ubuntu-VM2:1841\\DemoAM' GIT_STRATEGY: none LOG_NAME: '.update_DemoAM.txt' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' only: changes: - DemoAM/src/**/* refs: - master - merge_requests variables: - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev/101' && $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_BUILD_REF_NAME == 'master' - $CI_OPEN_MERGE_REQUESTS == null && $CI_PIPELINE_SOURCE == 'push' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == null - $CI_PIPELINE_SOURCE == 'web' - $CI_PIPELINE_SOURCE == 'api' # except: # changes: # - VA-test/**/* artifacts: when: always paths: - logs/.update_DemoAM.txt expire_in: 1 day # Отдельное задание объекта сборки BF/00-00000004 этапа Update Update_DAM.BF.00-00000004: <<: *update_job stage: Update variables: DATABASENAME: 'Ubuntu-VM2:1841\\DAM.BF.00-00000004' GIT_STRATEGY: none LOG_NAME: '.update_DAM.BF.00-00000004.txt' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' only: changes: - DemoAM/src/**/* refs: - BF/00-00000004 - merge_requests variables: - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev/101' && $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_BUILD_REF_NAME == 'BF/00-00000004' - $CI_OPEN_MERGE_REQUESTS == null && $CI_PIPELINE_SOURCE == 'push' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == null - $CI_PIPELINE_SOURCE == 'web' - $CI_PIPELINE_SOURCE == 'api' # except: # changes: # - VA-test/**/* artifacts: when: always paths: - logs/.update_DAM.BF.00-00000004.txt expire_in: 1 day # Отдельное задание объекта сборки BF/00-00000007 этапа Update Update_DAM.BF.00-00000007: <<: *update_job stage: Update variables: DATABASENAME: 'Ubuntu-VM2:1841\\DAM.BF.00-00000007' GIT_STRATEGY: none LOG_NAME: '.update_DAM.BF.00-00000007.txt' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' only: changes: - DemoAM/src/**/* refs: - BF/00-00000007 - merge_requests variables: - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev/101' && $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_BUILD_REF_NAME == 'BF/00-00000007' - $CI_OPEN_MERGE_REQUESTS == null && $CI_PIPELINE_SOURCE == 'push' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == null - $CI_PIPELINE_SOURCE == 'web' - $CI_PIPELINE_SOURCE == 'api' # except: # changes: # - VA-test/**/* artifacts: when: always paths: - logs/.update_DAM.BF.00-00000007.txt expire_in: 1 day # Отдельное задание объекта сборки BF/00-00000001 этапа Update Update_DAM.BF.00-00000001: <<: *update_job stage: Update variables: DATABASENAME: 'Ubuntu-VM2:1841\\DAM.BF.00-00000001' GIT_STRATEGY: none LOG_NAME: '.update_DAM.BF.00-00000001.txt' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' only: changes: - DemoAM/src/**/* refs: - BF/00-00000001 - merge_requests variables: - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev/101' && $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_BUILD_REF_NAME == 'BF/00-00000001' - $CI_OPEN_MERGE_REQUESTS == null && $CI_PIPELINE_SOURCE == 'push' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == null - $CI_PIPELINE_SOURCE == 'web' - $CI_PIPELINE_SOURCE == 'api' # except: # changes: # - VA-test/**/* artifacts: when: always paths: - logs/.update_DAM.BF.00-00000001.txt expire_in: 1 day # Отдельное задание объекта сборки TP/00-00000001 этапа Update Update_DAM.TP.00-00000001: <<: *update_job stage: Update variables: DATABASENAME: 'Ubuntu-VM2:1841\\DAM.TP.00-00000001' GIT_STRATEGY: none LOG_NAME: '.update_DAM.TP.00-00000001.txt' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' only: changes: - DemoAM/src/**/* refs: - TP/00-00000001 - merge_requests variables: - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev/101' && $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_BUILD_REF_NAME == 'TP/00-00000001' - $CI_OPEN_MERGE_REQUESTS == null && $CI_PIPELINE_SOURCE == 'push' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == null - $CI_PIPELINE_SOURCE == 'web' - $CI_PIPELINE_SOURCE == 'api' # except: # changes: # - VA-test/**/* artifacts: when: always paths: - logs/.update_DAM.TP.00-00000001.txt expire_in: 1 day # шаблон этапа UpdateDB # Обновляем конфигурацию ИБ .job_template: &updateDB_job tags: - update retry: 1 script: - $L_PLATFORM_1C DESIGNER /S $DATABASENAME /N $USER_1C /P $PASS_1C /UC UpdateDB /DisableStartupMessages /DisableStartupDialogs /DisableSplash /UpdateDBcfg -Dynamic- /Out $CI_PROJECT_DIR/logs/$LOG_NAME dependencies: [] # Индивидуальные задания этапа UpdateDB # Отдельное задание объекта сборки dev/101 этапа UpdateDB UpdateDB_DAM.dev.101: <<: *updateDB_job stage: UpdateDB variables: DATABASENAME: 'Ubuntu-VM2:1841\\DAM.dev.101' GIT_STRATEGY: none USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' allow_failure: true only: changes: - DemoAM/src/**/* refs: - dev/101 variables: - $CI_PIPELINE_SOURCE == 'web' || $CI_PIPELINE_SOURCE == 'schedule' || $CI_PIPELINE_SOURCE == 'api' artifacts: when: always paths: - logs/.updateDB_DAM.dev.101.txt expire_in: 1 day # Отдельное задание объекта сборки Tst/101 этапа UpdateDB UpdateDB_DAM.Tst.101: <<: *updateDB_job stage: UpdateDB variables: DATABASENAME: 'Ubuntu-VM2:1841\\DAM.Tst.101' GIT_STRATEGY: none USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' only: changes: - DemoAM/src/**/* refs: - Tst/101 variables: - $CI_PIPELINE_SOURCE == 'web' || $CI_PIPELINE_SOURCE == 'schedule' || $CI_PIPELINE_SOURCE == 'api' artifacts: when: always paths: - logs/.updateDB_DAM.Tst.101.txt expire_in: 1 day # Общие задания этапа UpdateDB # Отдельное задание объекта сборки master этапа UpdateDB UpdateDB_DemoAM: <<: *updateDB_job stage: UpdateDB variables: DATABASENAME: 'Ubuntu-VM2:1841\\DemoAM' GIT_STRATEGY: none LOG_NAME: '.updateDB_DemoAM.txt' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' only: changes: - DemoAM/src/**/* refs: - master - merge_requests variables: - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev/101' && $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_BUILD_REF_NAME == 'master' - $CI_OPEN_MERGE_REQUESTS == null && $CI_PIPELINE_SOURCE == 'push' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == null - $CI_PIPELINE_SOURCE == 'web' - $CI_PIPELINE_SOURCE == 'api' # except: # changes: # - VA-test/**/* artifacts: when: always paths: - logs/.updateDB_DemoAM.txt expire_in: 1 day # Отдельное задание объекта сборки BF/00-00000004 этапа UpdateDB UpdateDB_DAM.BF.00-00000004: <<: *updateDB_job stage: UpdateDB variables: DATABASENAME: 'Ubuntu-VM2:1841\\DAM.BF.00-00000004' GIT_STRATEGY: none LOG_NAME: '.updateDB_DAM.BF.00-00000004.txt' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' only: changes: - DemoAM/src/**/* refs: - BF/00-00000004 - merge_requests variables: - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev/101' && $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_BUILD_REF_NAME == 'BF/00-00000004' - $CI_OPEN_MERGE_REQUESTS == null && $CI_PIPELINE_SOURCE == 'push' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == null - $CI_PIPELINE_SOURCE == 'web' - $CI_PIPELINE_SOURCE == 'api' # except: # changes: # - VA-test/**/* artifacts: when: always paths: - logs/.updateDB_DAM.BF.00-00000004.txt expire_in: 1 day # Отдельное задание объекта сборки BF/00-00000007 этапа UpdateDB UpdateDB_DAM.BF.00-00000007: <<: *updateDB_job stage: UpdateDB variables: DATABASENAME: 'Ubuntu-VM2:1841\\DAM.BF.00-00000007' GIT_STRATEGY: none LOG_NAME: '.updateDB_DAM.BF.00-00000007.txt' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' only: changes: - DemoAM/src/**/* refs: - BF/00-00000007 - merge_requests variables: - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev/101' && $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_BUILD_REF_NAME == 'BF/00-00000007' - $CI_OPEN_MERGE_REQUESTS == null && $CI_PIPELINE_SOURCE == 'push' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == null - $CI_PIPELINE_SOURCE == 'web' - $CI_PIPELINE_SOURCE == 'api' # except: # changes: # - VA-test/**/* artifacts: when: always paths: - logs/.updateDB_DAM.BF.00-00000007.txt expire_in: 1 day # Отдельное задание объекта сборки BF/00-00000001 этапа UpdateDB UpdateDB_DAM.BF.00-00000001: <<: *updateDB_job stage: UpdateDB variables: DATABASENAME: 'Ubuntu-VM2:1841\\DAM.BF.00-00000001' GIT_STRATEGY: none LOG_NAME: '.updateDB_DAM.BF.00-00000001.txt' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' only: changes: - DemoAM/src/**/* refs: - BF/00-00000001 - merge_requests variables: - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev/101' && $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_BUILD_REF_NAME == 'BF/00-00000001' - $CI_OPEN_MERGE_REQUESTS == null && $CI_PIPELINE_SOURCE == 'push' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == null - $CI_PIPELINE_SOURCE == 'web' - $CI_PIPELINE_SOURCE == 'api' # except: # changes: # - VA-test/**/* artifacts: when: always paths: - logs/.updateDB_DAM.BF.00-00000001.txt expire_in: 1 day # Отдельное задание объекта сборки TP/00-00000001 этапа UpdateDB UpdateDB_DAM.TP.00-00000001: <<: *updateDB_job stage: UpdateDB variables: DATABASENAME: 'Ubuntu-VM2:1841\\DAM.TP.00-00000001' GIT_STRATEGY: none LOG_NAME: '.updateDB_DAM.TP.00-00000001.txt' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' only: changes: - DemoAM/src/**/* refs: - TP/00-00000001 - merge_requests variables: - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev/101' && $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_BUILD_REF_NAME == 'TP/00-00000001' - $CI_OPEN_MERGE_REQUESTS == null && $CI_PIPELINE_SOURCE == 'push' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == null - $CI_PIPELINE_SOURCE == 'web' - $CI_PIPELINE_SOURCE == 'api' # except: # changes: # - VA-test/**/* artifacts: when: always paths: - logs/.updateDB_DAM.TP.00-00000001.txt expire_in: 1 day # шаблон этапа Test .job_template: &test_job #Загрузка и запуск тестов из СППР для VA tags: - VA-test script: - chcp 65001 - set AtLeastOneTestFailed=No - if exist VA-test ( - if not exist logs md logs - if not exist jUnit md jUnit - if not exist c-tests md c-tests - if not exist c-tests\VA-TEST-ERR md c-tests\VA-TEST-ERR - if not exist c-tests\Result md c-tests\Result - if not exist c-tests\Settings md c-tests\Settings - start ""/wait "%W_PLATFORM_1C_tc%" ENTERPRISE /S %DATABASENAME% /N %USER_1C% /P %PASS_1C% /DisableStartupMessages /DisableStartupDialogs /DisableSplash /UC UpdateDB /Execute "%CI_BUILDS_DIR%\ОбновитьВторичныеДанныеПриНеобходимости.epf" /C ОтключитьЛогикуНачалаРаботыСистемы - call %CI_BUILDS_DIR%\make_params.cmd %CI_PROJECT_DIR%\c-tests "%BASE_1C_TEST%" %CI_PROJECT_DIR% %VAfw% %CI_PROJECT_DIR%\c-tests %CI_PROJECT_DIR%\logs\.scenario_upload.logs - start ""/wait "%W_PLATFORM_1C_tc%" /F C:\DBFILE\MT_SP /Execute "%CI_BUILDS_DIR%\СборкаТекстовСценариев.epf" /C "СобратьСценарии;JsonParams=%CI_PROJECT_DIR%\c-tests\Settings\params.json;" - echo AtLeastOneTestFailed=%AtLeastOneTestFailed% - for %%f in (%CI_PROJECT_DIR%\c-tests\Result\DemoAM\*.json) do ( - start ""/wait "%W_PLATFORM_1C_tc%" /F C:\DBFILE\MT_SP /TestManager /Execute "%VAfw%\vanessa-automation.epf" /C "StartFeaturePlayer;VBParams=%%f;scenario_tests=true;process_tests=false;" - if exist c-tests\VA-TEST-ERR\BDD*xml ( - xcopy c-tests\VA-TEST-ERR\* %VAerr%\VA-TEST-ERR\ /Y/Q/E - set AtLeastOneTestFailed=Yes - echo Test failed ) else ( echo test OK) ) ) - echo AtLeastOneTestFailed=%AtLeastOneTestFailed%) - if %AtLeastOneTestFailed% == Yes set errorlevel=13 artifacts: when: always paths: - logs\.scenario_upload.logs reports: junit: - jUnit/**/junit.xml # Индивидуальные задания этапа Test # Общие задания этапа Test # Отдельное задание объекта сборки master этапа Test test_DemoAM: <<: *test_job stage: Test variables: DATABASENAME: 'Ubuntu-VM2:1841\DemoAM' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' BASE_1C_TEST: 'Srvr=\"Ubuntu-VM2:1841\";Ref=\"DemoAM\";' W_PLATFORM_1C_tc : 'C:\Program files\1cv8\8.3.17.1549\bin\1cv8c.exe' VAfw : 'C:\AUTOTEST\vanessa-automation' VAerr: '\\ubuntu-vm2.home-group.loc' only: changes: - DemoAM/src/**/* - VA-test/**/* refs: - merge_requests variables: # Этап стартует только когда есть запрос на слияние - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev/101' && $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_BUILD_REF_NAME == 'master' # Отдельное задание объекта сборки dev/101 этапа Test test_DAM.dev.101: <<: *test_job stage: Test variables: DATABASENAME: 'Ubuntu-VM2:1841\DAM.dev.101' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' BASE_1C_TEST: 'Srvr=\"Ubuntu-VM2:1841\";Ref=\"DAM.dev.101\";' W_PLATFORM_1C_tc : 'C:\Program files\1cv8\8.3.17.1549\bin\1cv8c.exe' VAfw : 'C:\AUTOTEST\vanessa-automation' VAerr: '\\ubuntu-vm2.home-group.loc' only: changes: - DemoAM/src/**/* - VA-test/**/* refs: - merge_requests variables: # Этап стартует только когда есть запрос на слияние - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev/101' && $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_BUILD_REF_NAME == 'dev/101' # Отдельное задание объекта сборки Tst/101 этапа Test test_DAM.Tst.101: <<: *test_job stage: Test variables: DATABASENAME: 'Ubuntu-VM2:1841\DAM.Tst.101' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' BASE_1C_TEST: 'Srvr=\"Ubuntu-VM2:1841\";Ref=\"DAM.Tst.101\";' W_PLATFORM_1C_tc : 'C:\Program files\1cv8\8.3.17.1549\bin\1cv8c.exe' VAfw : 'C:\AUTOTEST\vanessa-automation' VAerr: '\\ubuntu-vm2.home-group.loc' only: changes: - DemoAM/src/**/* - VA-test/**/* refs: - merge_requests variables: # Этап стартует только когда есть запрос на слияние - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev/101' && $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_BUILD_REF_NAME == 'Tst/101' # Отдельное задание объекта сборки BF/00-00000004 этапа Test test_DAM.BF.00-00000004: <<: *test_job stage: Test variables: DATABASENAME: 'Ubuntu-VM2:1841\DAM.BF.00-00000004' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' BASE_1C_TEST: 'Srvr=\"Ubuntu-VM2:1841\";Ref=\"DAM.BF.00-00000004\";' W_PLATFORM_1C_tc : 'C:\Program files\1cv8\8.3.17.1549\bin\1cv8c.exe' VAfw : 'C:\AUTOTEST\vanessa-automation' VAerr: '\\ubuntu-vm2.home-group.loc' only: changes: - DemoAM/src/**/* - VA-test/**/* refs: - merge_requests variables: # Этап стартует только когда есть запрос на слияние - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev/101' && $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_BUILD_REF_NAME == 'BF/00-00000004' # Отдельное задание объекта сборки BF/00-00000007 этапа Test test_DAM.BF.00-00000007: <<: *test_job stage: Test variables: DATABASENAME: 'Ubuntu-VM2:1841\DAM.BF.00-00000007' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' BASE_1C_TEST: 'Srvr=\"Ubuntu-VM2:1841\";Ref=\"DAM.BF.00-00000007\";' W_PLATFORM_1C_tc : 'C:\Program files\1cv8\8.3.17.1549\bin\1cv8c.exe' VAfw : 'C:\AUTOTEST\vanessa-automation' VAerr: '\\ubuntu-vm2.home-group.loc' only: changes: - DemoAM/src/**/* - VA-test/**/* refs: - merge_requests variables: # Этап стартует только когда есть запрос на слияние - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev/101' && $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_BUILD_REF_NAME == 'BF/00-00000007' # Отдельное задание объекта сборки BF/00-00000001 этапа Test test_DAM.BF.00-00000001: <<: *test_job stage: Test variables: DATABASENAME: 'Ubuntu-VM2:1841\DAM.BF.00-00000001' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' BASE_1C_TEST: 'Srvr=\"Ubuntu-VM2:1841\";Ref=\"DAM.BF.00-00000001\";' W_PLATFORM_1C_tc : 'C:\Program files\1cv8\8.3.17.1549\bin\1cv8c.exe' VAfw : 'C:\AUTOTEST\vanessa-automation' VAerr: '\\ubuntu-vm2.home-group.loc' only: changes: - DemoAM/src/**/* - VA-test/**/* refs: - merge_requests variables: # Этап стартует только когда есть запрос на слияние - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev/101' && $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_BUILD_REF_NAME == 'BF/00-00000001' # Отдельное задание объекта сборки TP/00-00000001 этапа Test test_DAM.TP.00-00000001: <<: *test_job stage: Test variables: DATABASENAME: 'Ubuntu-VM2:1841\DAM.TP.00-00000001' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' BASE_1C_TEST: 'Srvr=\"Ubuntu-VM2:1841\";Ref=\"DAM.TP.00-00000001\";' W_PLATFORM_1C_tc : 'C:\Program files\1cv8\8.3.17.1549\bin\1cv8c.exe' VAfw : 'C:\AUTOTEST\vanessa-automation' VAerr: '\\ubuntu-vm2.home-group.loc' only: changes: - DemoAM/src/**/* - VA-test/**/* refs: - merge_requests variables: # Этап стартует только когда есть запрос на слияние - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev/101' && $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_BUILD_REF_NAME == 'TP/00-00000001' # шаблон этапа Unlock # Снятие блокировки .job_template: &unlock_job tags: - gui-command when: always script: - echo %DATABASENAME% # - $L_PLATFORM_1C_tc ENTERPRISE /S $DATABASENAME /N $USER_1C /P $PASS_1C /DisableStartupMessages /DisableStartupDialogs /DisableSplash /C ВыполнитьОтложенноеОбновлениеСейчас /UC UpdateDB - $L_PLATFORM_1C_tc ENTERPRISE /S $DATABASENAME /N $USER_1C /P $PASS_1C /DisableStartupMessages /DisableStartupDialogs /DisableSplash /C РазрешитьРаботуПользователей /UC UpdateDB dependencies: [] # Индивидуальные задания этапа Unlock # Отдельное задание объекта сборки dev/101 этапа Unlock Unlock_DAM.dev.101: <<: *unlock_job stage: Unlock variables: GIT_STRATEGY: none DATABASENAME: 'Ubuntu-VM2:1841\DAM.dev.101' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' # timeout: 72 hours only: changes: - DemoAM/src/**/* refs: - dev/101 variables: - $CI_PIPELINE_SOURCE == 'web' || $CI_PIPELINE_SOURCE == 'schedule' || $CI_PIPELINE_SOURCE == 'api' # Отдельное задание объекта сборки Tst/101 этапа Unlock Unlock_DAM.Tst.101: <<: *unlock_job stage: Unlock variables: GIT_STRATEGY: none DATABASENAME: 'Ubuntu-VM2:1841\\DAM.Tst.101' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' only: changes: - DemoAM/src/**/* refs: - Tst/101 variables: - $CI_PIPELINE_SOURCE == 'web' || $CI_PIPELINE_SOURCE == 'schedule' || $CI_PIPELINE_SOURCE == 'api' # Общие задания этапа Unlock # Отдельное задание объекта сборки master этапа Unlock Unlock_DemoAM: <<: *unlock_job stage: Unlock variables: GIT_STRATEGY: none DATABASENAME: 'Ubuntu-VM2:1841\DemoAM' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' only: changes: - DemoAM/src/**/* refs: - master variables: # Запуск если событие линии помещение в ветку и это нет события запроса на слияние - $CI_OPEN_MERGE_REQUESTS == null && $CI_PIPELINE_SOURCE == 'push' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == null - $CI_PIPELINE_SOURCE == 'web' - $CI_PIPELINE_SOURCE == 'api' UnlockMR_DemoAM: <<: *unlock_job stage: Unlock variables: GIT_STRATEGY: none DATABASENAME: 'Ubuntu-VM2:1841\DemoAM' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' only: changes: - DemoAM/src/**/* - VA-test/**/* refs: - merge_requests variables: # Запуск если событие линии запрос на слияние в ветку версии, пока её в лоб здесь напишем - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev/101' && $CI_BUILD_REF_NAME == 'master' # Отдельное задание объекта сборки BF/00-00000004 этапа Unlock Unlock_DAM.BF.00-00000004: <<: *unlock_job stage: Unlock variables: GIT_STRATEGY: none DATABASENAME: 'Ubuntu-VM2:1841\DAM.BF.00-00000004' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' only: changes: - DemoAM/src/**/* refs: - BF/00-00000004 variables: # Запуск если событие линии помещение в ветку и это нет события запроса на слияние - $CI_OPEN_MERGE_REQUESTS == null && $CI_PIPELINE_SOURCE == 'push' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == null - $CI_PIPELINE_SOURCE == 'web' - $CI_PIPELINE_SOURCE == 'api' UnlockMR_DAM.BF.00-00000004: <<: *unlock_job stage: Unlock variables: GIT_STRATEGY: none DATABASENAME: 'Ubuntu-VM2:1841\DAM.BF.00-00000004' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' only: changes: - DemoAM/src/**/* - VA-test/**/* refs: - merge_requests variables: # Запуск если событие линии запрос на слияние в ветку версии, пока её в лоб здесь напишем - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev/101' && $CI_BUILD_REF_NAME == 'BF/00-00000004' # Отдельное задание объекта сборки BF/00-00000007 этапа Unlock Unlock_DAM.BF.00-00000007: <<: *unlock_job stage: Unlock variables: GIT_STRATEGY: none DATABASENAME: 'Ubuntu-VM2:1841\DAM.BF.00-00000007' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' only: changes: - DemoAM/src/**/* refs: - BF/00-00000007 variables: # Запуск если событие линии помещение в ветку и это нет события запроса на слияние - $CI_OPEN_MERGE_REQUESTS == null && $CI_PIPELINE_SOURCE == 'push' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == null - $CI_PIPELINE_SOURCE == 'web' - $CI_PIPELINE_SOURCE == 'api' UnlockMR_DAM.BF.00-00000007: <<: *unlock_job stage: Unlock variables: GIT_STRATEGY: none DATABASENAME: 'Ubuntu-VM2:1841\DAM.BF.00-00000007' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' only: changes: - DemoAM/src/**/* - VA-test/**/* refs: - merge_requests variables: # Запуск если событие линии запрос на слияние в ветку версии, пока её в лоб здесь напишем - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev/101' && $CI_BUILD_REF_NAME == 'BF/00-00000007' # Отдельное задание объекта сборки BF/00-00000001 этапа Unlock Unlock_DAM.BF.00-00000001: <<: *unlock_job stage: Unlock variables: GIT_STRATEGY: none DATABASENAME: 'Ubuntu-VM2:1841\DAM.BF.00-00000001' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' only: changes: - DemoAM/src/**/* refs: - BF/00-00000001 variables: # Запуск если событие линии помещение в ветку и это нет события запроса на слияние - $CI_OPEN_MERGE_REQUESTS == null && $CI_PIPELINE_SOURCE == 'push' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == null - $CI_PIPELINE_SOURCE == 'web' - $CI_PIPELINE_SOURCE == 'api' UnlockMR_DAM.BF.00-00000001: <<: *unlock_job stage: Unlock variables: GIT_STRATEGY: none DATABASENAME: 'Ubuntu-VM2:1841\DAM.BF.00-00000001' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' only: changes: - DemoAM/src/**/* - VA-test/**/* refs: - merge_requests variables: # Запуск если событие линии запрос на слияние в ветку версии, пока её в лоб здесь напишем - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev/101' && $CI_BUILD_REF_NAME == 'BF/00-00000001' # Отдельное задание объекта сборки TP/00-00000001 этапа Unlock Unlock_DAM.TP.00-00000001: <<: *unlock_job stage: Unlock variables: GIT_STRATEGY: none DATABASENAME: 'Ubuntu-VM2:1841\DAM.TP.00-00000001' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' only: changes: - DemoAM/src/**/* refs: - TP/00-00000001 variables: # Запуск если событие линии помещение в ветку и это нет события запроса на слияние - $CI_OPEN_MERGE_REQUESTS == null && $CI_PIPELINE_SOURCE == 'push' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == null - $CI_PIPELINE_SOURCE == 'web' - $CI_PIPELINE_SOURCE == 'api' UnlockMR_DAM.TP.00-00000001: <<: *unlock_job stage: Unlock variables: GIT_STRATEGY: none DATABASENAME: 'Ubuntu-VM2:1841\DAM.TP.00-00000001' USER_1C: 'CI_BUILD' PASS_1C: 'P@ssw0rd' only: changes: - DemoAM/src/**/* - VA-test/**/* refs: - merge_requests variables: # Запуск если событие линии запрос на слияние в ветку версии, пока её в лоб здесь напишем - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev/101' && $CI_BUILD_REF_NAME == 'TP/00-00000001'