|
18 | 18 | Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-storage-user", "Пользователь хранилища 1С"); |
19 | 19 | Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-storage-pwd", "Пароль пользователя хранилища 1С (опционально)"); |
20 | 20 | Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-storage-v", "Версия в хранилище, которую включаем в дистрибутив (опционально)"); |
| 21 | + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-v8version", "Версия платформы 1С"); |
21 | 22 | Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "-use-tool1cd", "Использовать для чтения хранилища Tool1CD"); |
22 | 23 | Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-details", "Выходной файл с параметрами коммита хранилища (только для tool1cd)"); |
23 | 24 |
|
|
35 | 36 | Параметры = РазобратьПараметры(ПараметрыКоманды); |
36 | 37 |
|
37 | 38 | Попытка |
38 | | - ФайлВерсии = ПолучитьИмяВременногоФайла(".cf"); |
| 39 | + |
| 40 | + УправлениеКонфигуратором = ОкружениеСборки.ПолучитьКонфигуратор(); |
| 41 | + Если ЗначениеЗаполнено(Параметры.Версия1С) Тогда |
| 42 | + УправлениеКонфигуратором.ИспользоватьВерсиюПлатформы(Параметры.Версия1С); |
| 43 | + КонецЕсли; |
| 44 | + |
39 | 45 | Если Параметры.ИспользоватьTool1CD Тогда |
| 46 | + ФайлВерсии = ВФ.НовоеИмяФайла(".cf"); |
| 47 | + |
40 | 48 | ВыгрузитьВерсиюСредствамиTool1CD(Параметры.АдресХранилища, Параметры.ВерсияХранилища, ФайлВерсии, Параметры.ФайлПараметровКоммита); |
| 49 | + |
| 50 | + ФайлТест = Новый Файл(ФайлВерсии); |
| 51 | + Ожидаем.Что(ФайлТест.Существует(), "Должен существовать выгруженный файл версии"); |
| 52 | + |
| 53 | + ЗагрузитьКонфигурациюВБазуСборки(УправлениеКонфигуратором, ФайлВерсии); |
41 | 54 | Иначе |
42 | | - ВыгрузитьВерсиюИзХранилища(Параметры.АдресХранилища, Параметры.ВерсияХранилища, ФайлВерсии, Параметры.ПользовательХранилища, Параметры.ПарольХранилища); |
| 55 | + ВыгрузитьВерсиюИзХранилища(УправлениеКонфигуратором, Параметры.АдресХранилища, Параметры.ВерсияХранилища, Параметры.ПользовательХранилища, Параметры.ПарольХранилища); |
43 | 56 | КонецЕсли; |
44 | | - |
45 | | - ФайлТест = Новый Файл(ФайлВерсии); |
46 | | - Ожидаем.Что(ФайлТест.Существует(), "Должен существовать выгруженный файл версии"); |
47 | | - |
48 | | - УправлениеКонфигуратором = ОкружениеСборки.ПолучитьКонфигуратор(); |
49 | | - ЗагрузитьКонфигурациюВБазуСборки(УправлениеКонфигуратором, ФайлВерсии); |
| 57 | + |
50 | 58 | Исключение |
51 | 59 | ВФ.Удалить(); |
52 | 60 | ВызватьИсключение; |
|
75 | 83 | Результат.Вставить("ПользовательХранилища", ПараметрыКоманды["-storage-user"]); |
76 | 84 | Результат.Вставить("ПарольХранилища", ПараметрыКоманды["-storage-pwd"]); |
77 | 85 | Результат.Вставить("ВерсияХранилища", ПараметрыКоманды["-storage-v"]); |
| 86 | + Результат.Вставить("Версия1С", ПараметрыКоманды["-v8version"]); |
78 | 87 | Результат.Вставить("ИспользоватьTool1CD", ПараметрыКоманды["-use-tool1cd"]); |
79 | 88 | Результат.Вставить("ФайлПараметровКоммита", ПараметрыКоманды["-details"]); |
80 | 89 |
|
81 | 90 | Возврат Результат; |
82 | 91 |
|
83 | 92 | КонецФункции |
84 | 93 |
|
85 | | -Процедура ВыгрузитьВерсиюИзХранилища(Знач АдресХранилища, |
| 94 | +Процедура ВыгрузитьВерсиюИзХранилища(Конфигуратор, |
| 95 | + Знач ПутьКХранилищу, |
86 | 96 | Знач ВерсияХранилища, |
87 | | - Знач ВыходнойФайл, |
88 | | - Знач ПользовательХранилища = Неопределено, |
89 | | - Знач ПарольХранилища = Неопределено) Экспорт |
| 97 | + Знач ПользовательХранилища, |
| 98 | + Знач ПарольХранилища = "") Экспорт |
90 | 99 |
|
91 | | - ВременныйКаталог = ""; |
92 | | - Конфигуратор = ПолучитьКонфигуратор(ВременныйКаталог); |
| 100 | + |
| 101 | +ПараметрыЗапуска = Конфигуратор.ПолучитьПараметрыЗапуска(); |
| 102 | +ПараметрыЗапуска.Добавить("/ConfigurationRepositoryF """+ПутьКХранилищу+""""); |
| 103 | + |
| 104 | +ПараметрыЗапуска.Добавить("/ConfigurationRepositoryN """+ПользовательХранилища+""""); |
| 105 | + |
| 106 | +Если Не ЗначениеЗаполнено(ПарольХранилища) Тогда |
| 107 | +ПараметрыЗапуска.Добавить("/ConfigurationRepositoryP """+ПарольХранилища+""""); |
| 108 | +КонецЕсли; |
| 109 | + |
| 110 | +ПараметрыЗапуска.Добавить("/ConfigurationRepositoryUpdateCfg"); |
93 | 111 |
|
94 | | - Лог.Отладка("Выгружаю версию из хранилища"); |
| 112 | + Если ЗначениеЗаполнено(ВерсияХранилища) Тогда |
| 113 | + ПараметрыЗапуска.Добавить("-v "+ВерсияХранилища); |
| 114 | + КонецЕсли; |
| 115 | + |
| 116 | +ПараметрыЗапуска.Добавить("-force"); |
95 | 117 |
|
96 | | - Конфигуратор.ПолучитьВерсиюИзХранилища( |
97 | | - АдресХранилища, |
98 | | - ПользовательХранилища, |
99 | | - ПарольХранилища, |
100 | | - ВерсияХранилища); |
101 | | - |
102 | | - Лог.Отладка("Копирую файл версии"); |
103 | | - КопироватьФайл(ОбъединитьПути(ВременныйКаталог, "source.cf"), ВыходнойФайл); |
| 118 | + ПараметрыЗапуска.Добавить("/UpdateDBCfg"); |
| 119 | + |
| 120 | + Лог.Отладка("Получению новую версию из хранилища"); |
104 | 121 |
|
105 | | - ВФ.Удалить(); |
106 | | - Лог.Отладка("Удален временный каталог: " + ВременныйКаталог); |
| 122 | +Попытка |
| 123 | +Конфигуратор.ВыполнитьКоманду(ПараметрыЗапуска); |
| 124 | +Исключение |
| 125 | + |
| 126 | +ТекстОшибки = Конфигуратор.ВыводКоманды(); |
| 127 | +ВызватьИсключение ТекстОшибки; |
| 128 | + |
| 129 | + КонецПопытки; |
| 130 | + |
107 | 131 | КонецПроцедуры |
108 | 132 |
|
109 | 133 | Процедура ВыгрузитьВерсиюСредствамиTool1CD(Знач КаталогХранилища, Знач ВерсияХранилища, Знач ФайлВерсии, Знач ФайлПараметровКоммита = Неопределено) Экспорт |
|
0 commit comments