# Обновление приложения "Первая Форма"

## План

- Остановить работу сайтов приложения "Первая Форма".

- Сделать резервные копии базы данных и файлов приложения.

- Выполнить обновление в базе и внести необходимые изменения в файл web.config (при необходимости).

- Запустить сайты приложения "Первая Форма".

- Провести smoke-тестирование.

## Подробное описание выполняемых действий

1\. Остановите обновляемые сайты в IIS, 1Forma и 1Forma\_net\_core. Название папок может отличаться

2\. Сделайте резервную копию базы данных.

Зайдите в SQL Server Management Studio (SSMS), выберите базу данных D10Task, в контекстном меню выберите пункт "Задачи" -> "Создать резервную копию" (Tasks -> Back Up).

В настройках резервной копии обязательно установите параметр Только резервное копирование (Copy-only backup), чтобы резервное копирование выполнилось вне обычного плана резервирования.

3\. Через IIS перейдите в папку с приложением (кнопка Explore) и через стандартный проводник сделайте резервную копию папок 1Forma и 1Forma\_net\_core. Название папок может отличаться.

4\. В основной папке приложения удалите папки текущей (старой) версии:

..\\1forma\\CustomerZone

..\\1forma\\spa

..\\1forma\\\_nakat

> ℹ️ В резервных копиях эти папки удалять не нужно.

> ℹ️ Папка `_nakat` здесь — это папка старой версии приложения. Папка `_nakat` из архива **нового** обновления будет распакована на следующем шаге вместе с остальными файлами обновления. Сохранять старую `_nakat` заранее не нужно.

Распакуйте файлы обновления и скопируйте их с заменой в папки, с которых делались резервные копии. После этого появится обновлённая папка ..\\1Forma\\\_nakat, содержащая файлы нового релиза.

5\. При необходимости внесите изменения в файл web.config каждого сайта (файл находится в корне сайта).

> ℹ️ Файл с необходимыми изменениями для конкретных версий вкладывается сотрудниками "Первой Формы" в папку ..\\1Forma\\\_nakat нового обновления (распакованного на предыдущем шаге).

6\. После окончания процесса создания резервной копии БД (см. выше пункт 2) выполните обновление.

Перейдите в папку ..\\1Forma\\\_nakat\\DBMigrations (например, C:\\inetpub\\wwwroot\\1Forma\\\_nakat\\DBMigrations).

Откройте командную строку Windows от имени администратора, перейдите в папку cd C:\\inetpub\\wwwroot\\1Forma\\\_nakat\\DBMigrations и выполните файл nakat\_webconfig\_run.

В процессе обновления отображается выполнение скриптов.

При возникновении ошибки обновление останавливается, и в окне выполнения обновления отображается сообщение о том, на каком именно скрипте произошла остановка. В этом случае обратитесь в техническую поддержку "Первой Формы" за консультацией.

При успешном обновлении должна появиться надпись All scripts applied successfully.

7\. Запустите приложения 1Forma и 1Forma\_net\_core

Дождитесь успешной загрузки сайта. Запустите остальные копии сайтов.

8\. Проведите smoke-тестирование в соответствии с [чек-листом](https://help.1forma.ru/files/smoke-checklist.xlsx).

> ℹ️ После обновления приложения рекомендуется очистить кэш браузера. Для этого нажмите сочетание клавиш Ctrl+Shift+Delete, в появившемся окне отметьте параметр "Кэш" (Cache) и нажмите кнопку "Очистить все".
