1
0
mirror of https://github.com/DoublesunRUS/devscripts.git synced 2026-06-11 22:46:51 +02:00

Интеграция / Развертывание

This commit is contained in:
Капралов Александр
2020-10-04 21:14:40 +03:00
parent 9fc22eca1d
commit cc2300a074
2 changed files with 109 additions and 48 deletions
+6 -1
View File
@@ -4,10 +4,15 @@
#### ОбновлениеПлатформ.sbsl
В РАЗРАБОТКЕ.<br>
Скрипт, который позволяет обновить платформы, установленные на компьютере.<br>
Скрипт проверяет список последний версий платформы на сайте, смотрит список баз компьютера, список установленных платформ. После чего определяет, какие версии платформ нужно установить, а какие - удалить.
Скрипт проверяет список последний версий платформы на сайте, смотрит список баз компьютера, список установленных платформ. После чего определяет, какие версии платформ нужно установить, а какие - удалить.<br>
- метод Скрипт() - запрашивает имя и пароль пользователя через консоль
- метод ОбновитьПлатформы() - использует имя пользователя и пароль из параметров запуска
#### ИнтеграцияРазвертывание.sbsl.sbsl
В РАЗРАБОТКЕ.<br>
Скрипт для CI/CD.<br>
- метод СобратьИзИсходниковФайлКонфигурации() - преобразует указанную версию конфигурации EDT в CF файл выбранной версией платформы
### Библиотеки
#### ЗапускСкриптов.sbsl
Скрипт содержит методы, позволяющие вызывать из своего скрипта другие скрипты.<br>
@@ -19,6 +19,13 @@
структура ОписаниеУправляющегоФайла
знч путьКРабочейОбласти: Строка
знч путьКФайламКонфигурации: Строка
знч путьКИБ: Строка
пер конфигурацияЕДТЗагружена: Булево
пер конфигурация1СВыгружена: Булево
пер ИБСоздана: Булево
конструктор(путьКРабочейОбласти, путьКФайламКонфигурации, путьКИБ)
;
@@ -27,19 +34,26 @@
если ОТЛАДКА
Консоль.Записать("Управляющий файл: " + имяУправляющегоФайла)
Консоль.Записать("")
;
знч временныйПутьКРабочейОбласти = "/var/folders/fh/dr6rmj6n4rz5wzy30n7047380000gn/T/cicd_ws1889244632607481299"
знч временныйПутьКФайламКонфигурации =
"/var/folders/fh/dr6rmj6n4rz5wzy30n7047380000gn/T/cicd_1c_xml2547513256186380452"
// знч временныйПутьКРабочейОбласти = Файлы.СоздатьВременныйКаталог("cicd_ws", Ложь).Путь
// знч временныйПутьКФайламКонфигурации = Файлы.СоздатьВременныйКаталог("cicd_1c_xml", Ложь).Путь
знч временныйПутьКРабочейОбласти = Файлы.СоздатьВременныйКаталог("cicd_ws", Ложь).Путь
знч временныйПутьКФайламКонфигурации = Файлы.СоздатьВременныйКаталог("cicd_1c_xml", Ложь).Путь
знч временныйПутьКИБ = Файлы.СоздатьВременныйКаталог("cicd_1cd", Ложь).Путь
если ОТЛАДКА
Консоль.Записать("Рабочая область: " + временныйПутьКРабочейОбласти)
Консоль.Записать("Файлы конфигурации: " + временныйПутьКФайламКонфигурации)
Консоль.Записать("ИБ: " + временныйПутьКИБ)
;
знч содержимоеФайла = новый ОписаниеУправляющегоФайла(временныйПутьКРабочейОбласти, временныйПутьКФайламКонфигурации)
знч содержимоеФайла = новый ОписаниеУправляющегоФайла(временныйПутьКРабочейОбласти, временныйПутьКФайламКонфигурации,
временныйПутьКИБ)
содержимоеФайла.конфигурацияЕДТЗагружена = Истина
содержимоеФайла.конфигурация1СВыгружена = не Файлы.КаталогПустой(временныйПутьКРабочейОбласти) и не Файлы.КаталогПустой(
временныйПутьКФайламКонфигурации)
содержимоеФайла.ИБСоздана = не Файлы.КаталогПустой(временныйПутьКИБ)
ЗаписатьУправляющийФайл(содержимоеФайла, имяУправляющегоФайла)
если ОТЛАДКА
@@ -52,6 +66,10 @@
метод ПрочитатьУправляющийФайл(имяУправляющегоФайла: Строка): ОписаниеУправляющегоФайла
пер путьКРабочейОбласти: Строка
пер путьКФайламКонфигурации: Строка
пер путьКИБ: Строка
пер конфигурацияЕДТЗагружена: Булево
пер конфигурация1СВыгружена: Булево
пер ИБСоздана: Булево
знч управляющийФайл = новый Файл(имяУправляющегоФайла)
знч потокЧтения = управляющийФайл.ОткрытьПотокЧтения()
@@ -70,13 +88,29 @@
чтение.Следующий()
путьКФайламКонфигурации = чтение.Значение
когда "ПутьКИБ"
чтение.Следующий()
путьКИБ = чтение.Значение
когда "КонфигурацияЕДТЗагружена"
чтение.Следующий()
конфигурацияЕДТЗагружена = чтение.ПрочитатьСодержимоеКакБулево()
когда "Конфигурация1СВыгружена"
чтение.Следующий()
конфигурация1СВыгружена = чтение.ПрочитатьСодержимоеКакБулево()
когда "ИБСоздана"
чтение.Следующий()
ИБСоздана = чтение.ПрочитатьСодержимоеКакБулево()
иначе
;
;
потокЧтения.Закрыть()
знч содержимоеФайла = новый ОписаниеУправляющегоФайла(путьКРабочейОбласти, путьКФайламКонфигурации)
знч содержимоеФайла = новый ОписаниеУправляющегоФайла(путьКРабочейОбласти, путьКФайламКонфигурации, путьКИБ)
возврат содержимоеФайла
;
@@ -87,8 +121,15 @@
знч запись = новый ЗаписьJson(потокЗаписи)
запись.ЗаписатьНачалоОбъекта()
запись.Записать("ПутьКРабочейОбласти", содержимоеФайла.путьКРабочейОбласти)
запись.Записать("ПутьКФайламКонфигурации", содержимоеФайла.путьКФайламКонфигурации)
запись.Записать("ПутьКИБ", содержимоеФайла.путьКИБ)
запись.Записать("КонфигурацияЕДТЗагружена", содержимоеФайла.конфигурацияЕДТЗагружена)
запись.Записать("Конфигурация1СВыгружена", содержимоеФайла.конфигурация1СВыгружена)
запись.Записать("ИБСоздана", содержимоеФайла.ИБСоздана)
запись.ЗаписатьКонецОбъекта()
потокЗаписи.Закрыть()
@@ -97,67 +138,77 @@
метод Завершить(имяУправляющегоФайла: Строка)
знч содержимоеФайла = ПрочитатьУправляющийФайл(имяУправляющегоФайла)
// Файлы.Удалить(содержимоеФайла.путьКРабочейОбласти)
// Файлы.Удалить(содержимоеФайла.путьКФайламКонфигурации)
Файлы.Удалить(содержимоеФайла.путьКРабочейОбласти)
Файлы.Удалить(содержимоеФайла.путьКФайламКонфигурации)
Файлы.Удалить(содержимоеФайла.путьКИБ)
Файлы.Удалить(имяУправляющегоФайла)
;
метод СкачатьКоммитИзРепозитория()
;
метод СобратьИзИсходниковФайлКонфигурации(путьККонфигурацииЕДТ: Строка, путьКФайлуCF: Строка, версияПлатформы: Строка)
пер кодВозврата: Число
Ring_EDT_PlatformVersions()
если Истина
возврат
;
знч имяУправляющегоФайла = Инициализировать()
знч содержимоеФайла = ПрочитатьУправляющийФайл(имяУправляющегоФайла)
метод ПутьКПлатформе(версияПлатформы: Строка): Строка
знч максимальныеПлатформы = МаксимальныеПлатформы()
знч путьКПлатформе = максимальныеПлатформы.Получить(версияПлатформы)
пер путьКПлатформе = максимальныеПлатформы.Получить(версияПлатформы)
если путьКПлатформе == Неопределено
знч текстОшибки = Строки.Шаблон("Не найдена установленная платформа $0", версияПлатформы)
выбросить новый ИсключениеНедопустимоеСостояние(текстОшибки)
;
путьКПлатформе = путьКПлатформе + Файлы.СимволРазделителя + "bin" + Файлы.СимволРазделителя + "1cv8"
знч временныйПутьКИБ = Файлы.СоздатьВременныйКаталог("cicd_1cd", Ложь).Путь
возврат путьКПлатформе
;
Консоль.Записать("Начало экспорта")
кодВозврата = Ring_EDT_Export(путьККонфигурацииЕДТ, содержимоеФайла.путьКФайламКонфигурации, содержимоеФайла
.путьКРабочейОбласти)
если кодВозврата != 0
Завершить(имяУправляющегоФайла)
возврат
метод СобратьИзИсходниковФайлКонфигурации(путьККонфигурацииЕДТ: Строка, путьКФайлуCF: Строка, версияПлатформы: Строка)
пер кодВозврата: Число
знч имяУправляющегоФайла = Инициализировать()
знч содержимоеФайла = ПрочитатьУправляющийФайл(имяУправляющегоФайла)
знч путьКПлатформе = ПутьКПлатформе(версияПлатформы)
если не содержимоеФайла.конфигурация1СВыгружена
Консоль.Записать("Выгрузка конфигурации ЕДТ в формат 1С")
кодВозврата = Ring_EDT_Export(путьККонфигурацииЕДТ, содержимоеФайла.путьКФайламКонфигурации, содержимоеФайла.путьКРабочейОбласти)
содержимоеФайла.конфигурация1СВыгружена = кодВозврата == 0
ЗаписатьУправляющийФайл(содержимоеФайла, имяУправляющегоФайла)
если кодВозврата != 0
Завершить(имяУправляющегоФайла)
возврат
;
;
Консоль.Записать("Создание пустой ИБ")
кодВозврата = E1c_CreateInfobase(путьКПлатформе, временныйПутьКИБ)
если кодВозврата != 0
Завершить(имяУправляющегоФайла)
возврат
если не содержимоеФайла.ИБСоздана
Консоль.Записать("Создание пустой ИБ")
кодВозврата = E1c_CreateInfobase(путьКПлатформе, содержимоеФайла.путьКИБ)
если кодВозврата != 0
содержимоеФайла.ИБСоздана = Ложь
ЗаписатьУправляющийФайл(содержимоеФайла, имяУправляющегоФайла)
Завершить(имяУправляющегоФайла)
возврат
;
Консоль.Записать("Загрузка конфигурации из XML в ИБ")
кодВозврата = E1c_LoadConfigFromFiles(путьКПлатформе, содержимоеФайла.путьКИБ, содержимоеФайла.путьКФайламКонфигурации)
содержимоеФайла.ИБСоздана = кодВозврата == 0
ЗаписатьУправляющийФайл(содержимоеФайла, имяУправляющегоФайла)
если кодВозврата != 0
Завершить(имяУправляющегоФайла)
возврат
;
;
Консоль.Записать("Загрузить Конфигурацию XML в ИБ")
кодВозврата = E1c_LoadConfigFromFiles(путьКПлатформе, временныйПутьКИБ, содержимоеФайла.путьКФайламКонфигурации)
если кодВозврата != 0
Завершить(имяУправляющегоФайла)
возврат
;
Консоль.Записать("Сохранить CF")
кодВозврата = E1c_DumpCfg(путьКПлатформе, временныйПутьКИБ, путьКФайлуCF)
Консоль.Записать("Сохранение CF")
кодВозврата = E1c_DumpCfg(путьКПлатформе, содержимоеФайла.путьКИБ, путьКФайлуCF)
если кодВозврата != 0
Завершить(имяУправляющегоФайла)
возврат
;
Завершить(имяУправляющегоФайла)
Консоль.Записать("CF файл собран")
;
метод СобратьИзИсходниковФайлРасширения()
@@ -178,6 +229,8 @@
;
параметрыПроцесса.Добавить("ring")
параметрыПроцесса.Добавить("-l")
параметрыПроцесса.Добавить("error")
если версияЕДТ.Пусто()
параметрыПроцесса.Добавить("edt")
иначе
@@ -234,7 +287,8 @@
метод E1c_LoadConfigFromFiles(имяФайлаПлатформы: Строка, путьКИБ: Строка, путьККонфигурацииПлатформы: Строка): Число
пер параметрыПроцесса = новый Массив()
параметрыПроцесса.Добавить("DESIGNER")
параметрыПроцесса.Добавить("File=" + путьКИБ)
параметрыПроцесса.Добавить("/F")
параметрыПроцесса.Добавить(путьКИБ)
параметрыПроцесса.Добавить("/LoadConfigFromFiles")
параметрыПроцесса.Добавить(путьККонфигурацииПлатформы)
параметрыПроцесса.Добавить("/UpdateDBCfg")
@@ -245,7 +299,8 @@
метод E1c_DumpCfg(имяФайлаПлатформы: Строка, путьКИБ: Строка, путьКФайлуCF: Строка): Число
пер параметрыПроцесса = новый Массив()
параметрыПроцесса.Добавить("DESIGNER")
параметрыПроцесса.Добавить("File=" + путьКИБ)
параметрыПроцесса.Добавить("/F")
параметрыПроцесса.Добавить(путьКИБ)
параметрыПроцесса.Добавить("/DumpCfg")
параметрыПроцесса.Добавить(путьКФайлуCF)
@@ -255,7 +310,8 @@
метод E1c_CreateDistributionFiles(имяФайлаПлатформы: Строка, путьКИБ: Строка, путьКФайлуCF: Строка): Число
пер параметрыПроцесса = новый Массив()
параметрыПроцесса.Добавить("DESIGNER")
параметрыПроцесса.Добавить("File=" + путьКИБ)
параметрыПроцесса.Добавить("/F")
параметрыПроцесса.Добавить(путьКИБ)
параметрыПроцесса.Добавить("/CreateDistributionFiles")
параметрыПроцесса.Добавить("-cffile")
параметрыПроцесса.Добавить(путьКФайлуCF)