Проекты и релизы

На базе одного проекта у вас может быть несколько подпроектов. Имеется ввиду то, куда вы делаете релиз.

Например вы разрабатываете систему для автоматизации кол центров. У вас 5 заказчиков. У каждого свои особенности и индивидуальности, но основная структура проекта у вас одна. А особенности и индивидуальности вы разруливаете через настройки. Это могут быть как разные заказчики, ничего не знающие друг о друге так и разные филиалы одного заказчика, которые тоже могут иметь свои особенности.

В этом случае вы можете в разделе Проект перечислить ваших заказчиков, настроить строки соединений к релизным серверам, настроить логотип, значок и название каждого проекта.

Основные настройки проекта

На вкладке основных настроек указывается системное название проекта, название, значок (ico) и заставку, отображаемую в форме ввода логина пароля.

Основные настройки проекта

Перечисление подсистем проекта

См. раздел Подсистемы.

Перечисление подсистем проекта

Дистрибутив

Клиентское десктоп приложение это мальенький exe файл. Он автоматом скачивает все остальное и следит за обновлениями.

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

В конечных проектах при необходимости вы можете включить какие-то свои файлы. Например, это может быть приложение софтфона или необходимые вам dll-библиотеки. Азимут на клиентской стороне будет относиться к этим файлам как к своим собственным, будет автоматически следить за последней версией и докачивать то что необходимо.

Перечисление файлов дистрибутива

Публикуемые справочники

В этом разделе можно перечислить таблицы справочников, которые ведутся на стороне сервера разработки. Азимут при релизе будет автоматом сравнивать эти справочники и обновлять их на стороне основного рабочего сервера (для этого необходимо установить на рабочее место разработчика RedGate Data Compare).

Шаги развертывания

В шагах развертывания перечисляются из каких шагов состоит релиз.

Как правило это:

  1. сборка стартового файла - на выходе получаем exe файл с логотипом, который при запуске докачивает все что необходимо. Причем стартовых файлов в одном проекте может быть несколько. Например для админперсонала и для операторов кол центра. У них могут быть разные стартовые формы, операторы например могут входить только через доменную авторизацию, админперсоналу может быть запрещено запоминать пароль. Или например операторы при входе обязательно должны указать SIP телефона, за которым они сейчас сидят. Все это настраивается и генерятся разные стартовые exe.

  2. публикация основных файлов - выкладывание основных файлов дистрибутива. Выполняется при первичной заливке и при обновлении платформы.

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

  4. публикация структуры с помощью RedGate Compare - при выполнении открывается сконфигурированный RedGate Compare для сравнения и обновления структуры базы разработки и рабочей базы.

  5. публикация данных - выкладывание с помощью RedGate Data Compare справочников которые ведутся на стороне базы разработки. Например это статусы, типы заказов и т.д. Там уже настроены некоторые системные таблицы, которые обязательно нужно выкладывать при релизе. Это таблица метаданных, таблица привилегий (используется на стороне клиентского приложения для настройки прав пользователей).

Вы можете создать свои шаги развертывания. Например с помощью шага "sql скрипт" можно рассылать уведомления о новом релизе. Или выполнять другое действие.

Можно на языке c# разработать свои шаги развертывания.