1
0
mirror of https://github.com/agibalovsa/-1C_DevOps.git synced 2025-10-08 23:22:16 +02:00
Go to file

1C-DevOps

Описание

В данном репозитории находятся файлы настроек для создания docker образов и развертывания docker контейнеров приложений, относящихся к разработке на платформах 1С:Предприятие, 1С:Элемент.

Структура репозитория

  • build_deb - каталог, в котором находятся скрипты сборки deb-пакетов.
  • docker - каталог для работы с docker. |
    • applications - каталоги с файлами настроек под конкретное приложении. |
      • build - каталог, в котором находятся файлы описания сборки docker-образов |
        • dockerfile - основной файл описания сборки docker-образа.
        • context - каталог со скриптами установки приложений, которые вызываются из dockerfile.
        • .arg.tmpl - шаблон файла для задания аргументов сборки образа.
        • docker-build.sh - шаблон скрипта запуска сборки docker-образа.
        • entrypoint.sh - скрипт-точка-входа описывающий поведение контейнеров при его запуске.
        • прочие файлы скриптов и настроек, передаваемые в docker-образ.
      • compose - каталог, в котором находятся файлы описания параметров развертывания контейнера. |
        • common-compose.yml - базовый файл описания настроек общих для запуска контейнера в режимах compose или swarm.
        • docker-compose.yml - файл с описанием запуска контейнера в режиме compose.
        • docker-stack.yml - файл с описанием запуска контейнера в режиме swarm.
        • .env.tmpl - как шаблон файла для задания интерполирующих переменных запуска контейнера.
        • *config.tmpl - шаблоны файлов, для создания конфигураций через docker config.
        • *secret.tmpl - шаблоны файлов, для создания секретов через docker secret.
    • common_context - каталог с общими скриптами и настройками как для build, так и для compose.
    • init.sh - файл инициализации скриптов сборки или запуска контейнеров.
    • users - динамически создаваемый каталог с пользовательскими настройками сборки или запуска контейнеров.
  • .gitignore - сюда помещены:
    • .env
    • .arg
    • users

Порядок работы с репозиторием

  • Инициализация Для создания образа или запуска контейнера необходимо инициализировать каталог с пользовательскими настройками с помощью скрипта docker/init.sh. При запуске скрипта открывается окно, в котором необходимо:
    • Задать имя проекта
    • Выбрать тип проекта:
      • build
      • compose (в работе...)
      • swarm (в работе...)
    • Выбрать приложение из списка доступных
      • После чего создастся скрипт сборки и скрипт переменных в папке users, которая добавлена в gitignore
  • Сборку можно запустить с помощью скрипта docker-build.sh в каталоге users/appl после задания переменных через файл .arg.
  • Развернуть контейнер с минимальными настройками (docker compose, docker stack deploy).
    • Docker compose
      • Запуск осуществляется с помощью файла скрипта compose.sh.
    • Docker swarm
      • Запуск осуществляется с помощью файла скрипта deploy.sh.

Порядок работы с Portainer

  • Запуск осуществляется через web-интерфейс платформы для управления контейнерами Portainer.
  • В настройках запуска можно указать как один compose.yml файл, так и несколько, если настройки сгруппированы по файлам.
  • Настроить приложения в контейнере с помощью пользовательских настроек и заданных переменных среды, список которых можно получить из файлов .env.tpml.

Важно. В настройках переменных среды в диалоговом окне portainer ОБЯЗАТЕЛЬНО убрать все кавычки, которые есть в .env.tpml. Над унификацией этого вопроса я еще работаю.

Развитие репозитория

Репозиторий на текущем этапе развития не претендует на полноту описания. Его развитие будет идти по мере изучения новых механизмов и оптимизации изученных раннее. За любую помощь в дополнении или развития текущих файлов настроек автор репозитория будет очень благодарен.

Содержание

(Описание дополняется...)

Description
No description provided
Readme 906 KiB
Languages
Shell 79.4%
Lua 8.9%
PowerShell 7.5%
Makefile 4.2%