Автоматизация скриптов установки и обновления¶
Следующие скрипты возможно использовать в неинтерактивном режиме, когда через аргументы командной строки они получают нужные настройки и выполняются без необходимости пользовательского ввода:
setup.sh
- скрипт установки на новую базу данных.upgrade.sh
- скрипт обновления системы или её конфигурации на актуальную версию для существующей базы данных.export.sh
- скрипт экспорта конфигурации из базы данных в файлы на диске.migrate.sh
- скрипт миграции существующей базы данных в новую.
Для любого из этих скриптов:
- вызов без аргументов инициирует диалог с пользователем для ввода основных настроек;
- вызов с аргументом
--help
или-?
отображает справку по аргументам с указанием значений по умолчанию; - вызов с любыми другими аргументами выполняет скрипт в неинтерактивном режиме, причём для всех неуказанных аргументов используются значения по умолчанию.
Tip
Используйте неинтерактивный режим скриптов для сценариев автоматизации.
Ниже приводится описание аргументов для различных скриптов. При этом используются обозначения:
- некоторые аргументы имеют синонимы, которые можно использовать наравне с первой формой аргумента, они перечисляются через запятую:
-short
,--long
; - аргументы с двоеточием имеют значение, задаваемое после двоеточия
-a:value
; - в колонке “Значение по умолчанию” выводится то значение аргумента или поведение скрипта, которое используется, когда скрипт запущен в неинтерактивном режиме, но этот аргумент не передан;
- при указании логинов и паролей пользователя, они должны соответствовать карточке сотрудника со значением “Администратор” в поле “Уровень доступа”.
Скрипт установки setup.sh¶
Аргумент | Описание | Значение по умолчанию |
---|---|---|
-d , --default |
Запустить скрипт в неинтерактивном режиме, даже если ни один другой аргумент не указан | |
-v , --verbose |
Выводить результаты выполнения команд на консоль | Команды запускаются в тихом (quiet) режиме |
-a: , --address: |
Адрес веб-сервиса | https://localhost |
-u: , --user: |
Логин пользователя для подключения к веб-сервису | admin |
-p: , --password: |
Пароль пользователя для подключения к веб-сервису | admin |
-db: , --database: |
Имя базы данных | Имя из строки подключения в app-db.json |
-cdb , --create-database |
Создать базу данных перед установкой | База данных должна существовать на момент запуска скрипта |
-cs: , --connection-string: |
Имя строки подключения из app-db.json |
default |
-t: , --timeout: |
Таймаут в секундах для проверок соединения к базе данных и к веб-сервису; 0 - неограниченный таймаут; -1 - таймаут по умолчанию из app.json |
20 |
-f: , --files: |
Абсолютный путь к хранилищу файлов, доступ к которому требуется для веб-сервиса и Chronos | $HOME/tessa/files |
-o: , --offset: |
Смещение UTC в минуту для временной зоны по умолчанию | 180 |
-fts: |
0 - для сервера не устанавливаются компоненты, связанные с полнотекстовым поиском; 1 - полнотекстовый поиск устанавливается. |
1 |
-na , --no-applications |
Не публиковать desktop-приложения | Desktop-приложения публикуются |
-nd , --no-deski |
Не публиковать приложение-ассистент web-клиента Deski | Deski публикуется |
-nk , --no-keys |
Не обновлять ключи CipherKey и SignatureKey в файлах app.json для веб-сервиса и Chronos |
Ключи обновляются |
-wp: , --web-path: |
Путь к папке веб-сервиса, используемый для обновления ключей (абсолютный или относительный от папки tools ) |
$HOME/tessa/web |
-cp: , --chronos-path: |
Путь к папке Chronos, используемый для обновления ключей (абсолютный или относительный от папки tools ) |
$HOME/tessa/chronos |
-tp: , --tools-path: |
Путь к папке tools , содержащий утилиту tadmin (абсолютный или относительный от папки со скриптом) |
./tools |
--applications-path: |
Путь к папке с desktop-приложениями, которые будут опубликованы | ../../Applications |
-cfg: , --configuration-path: |
Путь к папке с конфигурацией, которая импортируется (абсолютный или относительный от папки tools ) |
../../Configuration |
--deski-path: |
Путь к папке с приложением Deski, которое будет опубликовано (абсолютный или относительный от папки tools ) |
../../DeskiSetup |
--fixes-path: |
Путь к папке с дополнительными скриптами и миграциями Fixes , используемыми при установке (абсолютный или относительный от папки tools ) |
../../Fixes |
Пример
./setup.sh -a:https://tessa-server.com -db:tessa --create-database -fts:0 --offset:120 -f:/var/tessa/files -wp:/var/tessa/web -cp:/var/tessa/chronos
Скрипт выполняет установку на новую базу данных с аргументами:
https://tessa-server.com
- адрес веб-сервиса (логин и пароль пользователя стандартные -admin
);tessa
- имя базы данных, которое переопределяет имя, указанное в строке подключенияdefault
в файлеapp-db.json
;- база данных создаётся скриптом, она должна отсутствовать перед вызовом скрипта (следовательно, пользователь СУБД, указанный в строке подключения, должен обладать разрешениями на создание базы данных);
- полнотекстовый поиск не устанавливается;
- смещение временной зоны по умолчанию устанавливается как
UTC+02:00
; /var/tessa/files
- путь до папки с файлами;/var/tessa/web
- путь до папки с веб-сервисом;/var/tessa/chronos
- путь до папки с Chronos;- все прочие аргументы получают значения по умолчанию.
Скрипт обновления upgrade.sh¶
По использованию скрипта обновления обратитесь к разделу Обновление на новую сборку платформы.
Аргумент | Описание | Значение по умолчанию |
---|---|---|
-d , --default |
Запустить скрипт в неинтерактивном режиме, даже если ни один другой аргумент не указан | |
-v , --verbose |
Выводить результаты выполнения команд на консоль | Команды запускаются в тихом (quiet) режиме |
-a: , --address: |
Адрес веб-сервиса | https://localhost |
-u: , --user: |
Логин пользователя для подключения к веб-сервису | admin |
-p: , --password: |
Пароль пользователя для подключения к веб-сервису | admin |
-db: , --database: |
Имя базы данных | Имя из строки подключения в app-db.json |
-cs: , --connection-string: |
Имя строки подключения из app-db.json |
default |
-t: , --timeout: |
Таймаут в секундах для проверок соединения к базе данных и к веб-сервису; 0 - неограниченный таймаут; -1 - таймаут по умолчанию из app.json |
20 |
-na , --no-applications |
Не публиковать desktop-приложения | Desktop-приложения публикуются |
-nd , --no-deski |
Не публиковать приложение-ассистент web-клиента Deski | Deski публикуется |
-nk , --no-keys |
Не обновлять ключи CipherKey и SignatureKey в файлах app.json для веб-сервиса и Chronos |
Ключи обновляются |
-wp: , --web-path: |
Путь к папке веб-сервиса, используемый для обновления ключей (абсолютный или относительный от папки tools ) |
$HOME/tessa/web |
-cp: , --chronos-path: |
Путь к папке Chronos, используемый для обновления ключей (абсолютный или относительный от папки tools ) |
$HOME/tessa/chronos |
-tp: , --tools-path: |
Путь к папке tools , содержащий утилиту tadmin (абсолютный или относительный от папки со скриптом) |
./tools |
--applications-path: |
Путь к папке с desktop-приложениями, которые будут опубликованы | ../../Applications |
-cfg: , --configuration-path: |
Путь к папке с конфигурацией, которая импортируется (абсолютный или относительный от папки tools ) |
../../Configuration |
--deski-path: |
Путь к папке с приложением Deski, которое будет опубликовано (абсолютный или относительный от папки tools ) |
../../DeskiSetup |
--fixes-path: |
Путь к папке с дополнительными скриптами и миграциями Fixes , используемыми при установке (абсолютный или относительный от папки tools ) |
../../Fixes |
Пример
./upgrade.sh -a:https://tessa-server.com -db:tessa --no-applications -f:/var/tessa/files -wp:/var/tessa/web -cp:/var/tessa/chronos
Скрипт выполняет обновление существующей базы данных с аргументами:
https://tessa-server.com
- адрес веб-сервиса (логин и пароль пользователя стандартные -admin
);tessa
- имя базы данных, которое переопределяет имя, указанное в строке подключенияdefault
в файлеapp-db.json
;- скрипт не выполняет публикацию приложений desktop-клиента;
/var/tessa/web
- путь до папки с веб-сервисом;/var/tessa/chronos
- путь до папки с Chronos;- все прочие аргументы получают значения по умолчанию.
Скрипт экспорта export.sh¶
По использованию скрипта экспорта обратитесь к разделу Экспорт конфигурации веб-сервиса.
Аргумент | Описание | Значение по умолчанию |
---|---|---|
-d , --default |
Запустить скрипт в неинтерактивном режиме, даже если ни один другой аргумент не указан | |
-v , --verbose |
Выводить результаты выполнения команд на консоль | Команды запускаются в тихом (quiet) режиме |
-a: , --address: |
Адрес веб-сервиса | https://localhost |
-u: , --user: |
Логин пользователя для подключения к веб-сервису | admin |
-p: , --password: |
Пароль пользователя для подключения к веб-сервису | admin |
-db: , --database: |
Имя базы данных | Имя из строки подключения в app-db.json |
-cs: , --connection-string: |
Имя строки подключения из app-db.json |
default |
-t: , --timeout: |
Таймаут в секундах для проверок соединения к базе данных и к веб-сервису; 0 - неограниченный таймаут; -1 - таймаут по умолчанию из app.json |
20 |
-tp: , --tools-path: |
Путь к папке tools , содержащий утилиту tadmin (абсолютный или относительный от папки со скриптом) |
./tools |
-cfg: , --configuration-path: |
Путь к папке, в которую экспортируется конфигурация (абсолютный или относительный от папки tools ) |
../../Configuration |
Пример
./export.sh -a:https://tessa-server.com -u:admin -p:adminpswd -db:tessa -cfg:~/tessa/Configuration
Скрипт выполняет экспорт конфигурации из базы данных в папку с аргументами:
https://tessa-server.com
- адрес веб-сервиса,admin
- логин пользователя,adminpswd
- его пароль;tessa
- имя базы данных, которое переопределяет имя, указанное в строке подключенияdefault
в файлеapp-db.json
;- конфигурация экспортируется в папку по пути
~/tessa/Configuration
(где~
- домашняя папка пользователя); - все прочие аргументы получают значения по умолчанию.
Скрипт миграции migrate.sh¶
По использованию скрипта миграции обратитесь к разделу Миграция базы данных.
Аргумент | Описание | Значение по умолчанию |
---|---|---|
-d , --default |
Запустить скрипт в неинтерактивном режиме, даже если ни один другой аргумент не указан | |
-v , --verbose |
Выводить результаты выполнения команд на консоль | Команды запускаются в тихом (quiet) режиме |
-a: , --address: |
Адрес веб-сервиса | https://localhost |
-u: , --user: |
Логин пользователя для подключения к веб-сервису | admin |
-p: , --password: |
Пароль пользователя для подключения к веб-сервису | admin |
-db1: , --database-1: |
Имя исходной базы данных | Имя из строки подключения в app-db.json |
-db2: , --database-2: |
Имя целевой базы данных | Имя из строки подключения в app-db.json |
-cs1: , --connection-string-1: |
Имя строки подключения к исходной базе данных из app-db.json |
default |
-cs2: , --connection-string-2: |
Имя строки подключения к целевой базе данных из app-db.json |
migration |
-t: , --timeout: |
Таймаут в секундах для проверок соединения к базе данных и к веб-сервису; 0 - неограниченный таймаут; -1 - таймаут по умолчанию из app.json |
20 |
-nw , --no-web |
Не проверять подключение к веб-сервису и не обращаться к нему | Подключение проверяется |
-nic , --no-import-cards |
Не импортировать специфичные для СУБД карточки, требует подключение к веб-сервису | Карточки импортируются |
-tp: , --tools-path: |
Путь к папке tools , содержащий утилиту tadmin (абсолютный или относительный от папки со скриптом) |
./tools |
-cfg: , --configuration-path: |
Путь к папке с конфигурацией, используется при импорте карточек (абсолютный или относительный от папки tools ) |
../../Configuration |
--fixes-path: |
Путь к папке с дополнительными скриптами Fixes , используется при импорте карточек (абсолютный или относительный от папки tools ) |
../../Fixes |
Tip
Импорт специфичных для СУБД карточек (при отсуствии ключей -nw
или -nic
) имеет смысл только при миграции с одного типа СУБД на другой, т.е. при миграции с MS SQL Server на PostgreSQL или наоборот.
Если такая миграция не выполняется, то рекомендуется указать ключ -nw
. Обеспечить доступность веб-сервиса в этом случае не требуется, а аргументы -a
, -u
, -p
, -nic
, -cfg
и --fixes-path
можно не указывать, т.к. их значения не используются.
Пример
./migrate.sh -a:https://tessa-server.com -u:admin -p:adminpswd -db2:tessa2 -cs2:default -cfg:~/tessa/Configuration
Скрипт выполняет миграцию базы данных с аргументами:
https://tessa-server.com
- адрес веб-сервиса,admin
- логин пользователя,adminpswd
- его пароль;- миграция выполняется в базу данных
tessa2
, прочие параметры подключения указаны в строке подключенияdefault
в файлеapp-db.json
(хотя по умолчанию была бы строкаmigration
); - конфигурация для импорта карточек, специфичных для СУБД, доступна в папке
~/tessa/Configuration
(где~
- домашняя папка пользователя); - все прочие аргументы получают значения по умолчанию.