Project

General

Profile

Deploy2

Обозначения

%Deploy% - каталог, где располагается Deploy

Структура

Deploy состоит из ряда каталогов различного назначения:

  • php - интерпретатор, развернутый в данный каталог позволяет запускать Deploy без необходимости устанавливать PHP на каждой машине;
  • src - исходные коды программы;
  • setup - здесь располагаются дистрибутивы всех устанавливаемых программ и драйверов;
  • keydll - файлы лицензий для ключей защиты;
  • config - файлы настроек комплекса (base.ini);
  • auto.conf - конфигурационные файлы, помещаемые в каталог system.

Исходные коды деплоя:

  • index.php - инициализация приложения, точка входа
  • util.php - дополнительные функции, не привязанные к конкретным путям деплоя
  • deploy.php - класс деплоя, содержит все api, необходимое для работы деплоя
  • soft.php - класс приложения - содержит все настройки, необходимые для установки
  • log.php - класс, отвечающий за ведение логов
  • install.php - содержит настройки для всех рабочих станций комплекса для установки необходимых приложений
  • presets.php - содержит описания пресетов, дистрибутивов программ (в первой версии деплоя также находились в install.php)

presets.php

  • $presets - массив пресетов. Имеет следующую структуру: В качестве ключа используется имя пресета (регистронезависимое, как и все во второй версии деплоя). Значение содержит массив с перечислением приложений, входящих в пресет. В списке должен присутствовать один переопределенный пресет с названием "system", в котором перечислены те приложения и драйверы, которые необходимо ставить на все рабочие места.
  • $soft - список приложений. Ключ - название приложения или драйвера. При этом в конце названия может содержаться архитектура и/или операционная система, если данный дистрибутив специфичен только для них. Это окончание соответствует значениям параметров architecture и system. Значение - список параметров в форме ключ => значение. Вот список этих параметров с кратким объяснением их назначения:
    • source (синонимы: src, 0) - путь к дистрибутиву приложения. Он является относительным каталога %Deploy%/setup/ . В пути могут быть использованы следующие подстановки: %s - операционная система (xp или win7), %a - архитектура (x86 или x64))
    • params (синонимы: parameters, param, 1) - параметры запуска. Так же может содержать подстановку %d - каталог назначения (по умолчанию в Deploy это C:/Program Files/Digispot II/
    • destination (синонимы: dest, dst, 2) - путь, куда будет производиться установка. Здесь указывается полный путь установки, например для джинна это C:/Program Files/Digispot II/Djin/ . По наличию данного параметра определяется, является ли устанавливаемая программа приложением Digispot II. В этом случае Deploy делает полный бэкап папки назначения и при recovery восстанавливает ее исходное состояние. Может содержать подстановку %d.
    • icons (синонимы: icon, 3) - путь к исполняемым файлам, к которым нужно сделать ярлычки на рабочем столе, или массив путей. Может содержать подстановку %d.
    • check (синонимы: checks) - проверка нормального завершения установки. Массив параметров для проверки. Параметр result => 0 говорит о том, что код завершения приложения должен быть нулем. Далее может быть набор строковых параметров, в зависимости от префикса которых, определяется назначение. Если первый символ - знак "-", то оставшаяся часть строки при обнаружении в выводе программы будет приводить к аварийному завершению. Если первый знак - символ "+" или любой другой, то в случае, если ни одна из этих строк не найдена в выводе, это также означает некорректную установку. Может быть еще параметры вида ключ => значение, ключ- путь к файлу (логов установки), значение - массив строк аналогичных тем, что были описаны ранее. Если логи не найдены, это тоже считается ошибкой. В путях может быть задействована подстановка %d, а так же может содержать * для записи регулярных выражений.
    • to_temp (синонимы: totemp, to temp) - определяет, нужно ли копировать дистрибутив во временный локальный каталог перед запуском. Может иметь значение file (тогда копируется только один файл дистрибутива) и folder (копируется весь каталог, где находится дистрибутив). Если параметров нет или значение = true, то это эквивалентно значению file.
    • architecture (синонимы: arch) - указывает деплою, что данное приложение нужно ставить только для конкретной архитектуры. Может принимать значения xp, winxp, windowsxp или 7, win7, windows7, vista. Может содержать любое количество пробелов, они не учитываются.
    • system (синонимы: os) - определяет конкретную архитектуру процессора, для которой существует данная программа или драйвер. Принимает значения 32, 86, x86 или 64, x64.

Есть небольшое число параметров, которые можно записывать подряд без указания ключа. Это достигается за счет их числовых синонимов. Вот список данных параметров: source, params, destination, icons. Данная возможность существует для большей совместимости с первой версией деплоя.

install.php

  • $info - массив со списками следующего вида: имя компьютера, имя пресета или приложения (в этом случае будет установлена только одна программа, но не должно существовать пресета с таким же именем), номер ключа для HaspHL или HardLock (его программа ищет в каталоге %Deploy%/keydll/ , при этом копируется все содержимое каталога с названием, соответствующим параметру), имя рута, которое определяет ini файл, который будет скопирован в папку .../system/base.ini из каталога %Deploy%/config/ . Имя пресета определяет также конфигурационные файлы, которые будут скопированы в каталог system (об этом далее). Если имя программы (для пресетов не работает) записывается как ключ => значение, то значение определяет каталог назначения программы относительно стандартного (например, если каталог назначения C:/Program Files/Digispot II/ , то запись "djin" => "plan" указывает деплою, что DJin должен быть установлен в каталог C:/Program Files/Digispot II/plan/). При этом конфигурационные файлы будут копироваться так же, как если бы устанавливался пресет с именем, соответствующим значению (в случае описанного примера это будет plan). Кроме того, в папку system будут скопированы конфигурационные файлы из следующих каталогов: %Deploy%/auto.conf/_copy/%1/%2/ , где %1 - название пресета или _any, %2 - имя программы или _any. Если необходимо ставить несколько пресетов или приложений, дотаточно сделать несколько записей для конкретной рабочей станции. На каждый компьютер по умолчанию ставится как минимум один пресет - это пресет system. Явно его задавать не нужно.

-Предоставляется также возможность записывать параметры следующим образом: имя_компьютера => array( имя_пресета, имя_ключа, имя_рута ). Оба варианта идеентичны с той лишь разницей, что для задания нескольких пресетов, они перечисляются в виде массива-

-имя_компьютера => array( array( имя_пресета, имя_ключа, имя_рута ), ….. )- (это пока не реализовано)

Принцип работы

Для получения информации о программе, а так же получения помощи необходимо запускать Deploy с параметром /?

На первом этапе программа инициализируется, в том числе проверяет все настройки в файлах presets.php и install.php, а так же формирует списки, проверяет корректность путей и доступность папки назначения, где создается файл логов в папке Log/ . Затем Deploy формирует список приложений, которые он будет ставить на данное рабочее место. После этого он приступает к установке этих приложений. После успешного завершения работы, программа удаляет временную папку со всеми бекапами. Затем Deploy копирует файл логов в папку %Deploy%/log/ с добавлением в начало имени данной рабочей станции. Если скопировать лог не удастся, в случае отсутствия доступа на запись, об этом останется запись в локальных логах.

Add picture from clipboard (Maximum size: 742 MB)