From a8b20d2ac99e0cb872ef1a197fb46d4950aa877a Mon Sep 17 00:00:00 2001 From: Sergey Kryuchkov Date: Tue, 7 Sep 2021 11:35:07 +0300 Subject: [PATCH] ENTAXY-122 Entaxy installation in docker documentation added --- .../installation-table-of-contents.ru.adoc | 2 +- .../installation/local-installation/ReadMe.md | 141 ++++++++++++++++++ 2 files changed, 142 insertions(+), 1 deletion(-) create mode 100644 documentation/installation/local-installation/ReadMe.md diff --git a/documentation/installation/installation-table-of-contents.ru.adoc b/documentation/installation/installation-table-of-contents.ru.adoc index f17ffca..b1b6cf4 100644 --- a/documentation/installation/installation-table-of-contents.ru.adoc +++ b/documentation/installation/installation-table-of-contents.ru.adoc @@ -5,6 +5,6 @@ __Alternative languages:__ = Установка Entaxy из коробки имеет разные варианты установки: -* xref:../../temp/entaxy-docker/ReadMe.md[Установка для разработки в докер] +* xref:local-installation/ReadMe.md[Установка для разработки в докер] * xref:../../features/README.ru.md[Установка для разработки отдельных серверных приложений] * xref:install.adoc[Установка на промышленное окружение] diff --git a/documentation/installation/local-installation/ReadMe.md b/documentation/installation/local-installation/ReadMe.md new file mode 100644 index 0000000..97866b2 --- /dev/null +++ b/documentation/installation/local-installation/ReadMe.md @@ -0,0 +1,141 @@ +## Docker compose для сборки и запуска Entaxy. + +Запуск локального окружения с несколькими docker контейнерами: +* Караф +* Брокер +* СУБД +* Менеджер артефактов + +Для начала клонируем репозиторий и переходим в корень проекта: +```bash +git clone +cd entaxy-framework +``` +Далее у нас есть разные варианты хранения необходимых для установки Entaxy артефактов. +### 1. Самый простой способ: локальный репозиторий артефактов включаеться в образ карафа. +В корневом POM находится профиль для деплоя артефактов в образ карафа: +```xml + + docker.file.repo + + + entaxy-maven-repo-file + file:./temp/entaxy-docker/karaf/repo + + + +``` +Запускаем мевен деплой из корня проекта с этим профилем: +```bash +mvn deploy -P docker.file.repo +``` +И после успешной сборки запускаем контейнеры из директории проекта, в которой находится docker-compose.yml: +```bash +cd ./temp/entaxy-docker +docker-compose up +``` +Или `docker compose up` для новых версий docker. +После запуска комманды мы будем видеть прогресс сборки образов, запуска контейнеров и логи запущенных приложений. Для остановки контейнеров достаточно нажать сочетание клавиш Ctrl+C или через команды запущенные из другого окна/вкладки терминала. +```bash +docker-compose stop +docker-compose start +``` +После запуска контейнеров открываем новый терминал и заходим в караф: +```bash +docker-compose exec karaf /opt/apache-karaf/bin/client +``` +или ssh клиент с дальнейшим вводом пароля (karaf) +```bash +ssh -p 8101 karaf@localhost +``` + +И в консоли карафа запускаем скрипт с установкой необходимых фич: +```bash +shell:source ./install.karaf +``` +Ждём окончания деплоя в караф. +(Не всегда полная установка проходит с первой попытки и тогда помогает повторный запуск `source install.karaf`) + +### 2. Reposilite: легковесный http репозиторий артефактов запускается в отдельном контейнере. +Комментируем в файле install.karaf строку начинающуюся с: +```bash +config:property-set -p org.ops4j.pax.url.mvn org.ops4j.pax.url.mvn.repositories file:/opt/apache-karaf/repo +``` +И убираем комментарий в строке начинающейся: +```bash +#config:property-set -p org.ops4j.pax.url.mvn org.ops4j.pax.url.mvn.repositories http://maven-repo/snapshots +``` + +Запускаем контейнеры из директории проекта, в которой находится docker-compose.yml: +```bash +cd ./temp/entaxy-docker +docker-compose up +``` +Или `docker compose up` для новых версий docker. +После запуска комманды мы будем видеть прогресс сборки образов, запуска контейнеров и логи запущенных приложений. Для остановки контейнеров достаточно нажать сочетание клавиш Ctrl+C или через команды запущенные из другого окна/вкладки терминала. +```bash +docker-compose stop +docker-compose start +``` + +Для деплоя в reposilite добавляем учётные данные в конфигурацию мавена (`~/.m2/settings.xml`): +```xml + + + + entaxy-maven-repo + admin + aW7frfS9NPGrOnuNBMf9gyO0eXNRaCoOGtXHTcLU5akDFJ9ACiUJhgmZxlOKnLC5 + + + +``` +В корневом POM находится профиль для деплоя артефактов на сервер reposilite: +```xml + + docker.reposilite + + + entaxy-maven-repo + http://127.0.0.1:8081/snapshots + + + +``` +Запускаем мевен деплой из корня проекта с этим профилем: +```bash +mvn deploy -P docker.reposilite +``` +После успешной сборки открываем новый терминал и заходим в караф: +```bash +docker-compose exec karaf /opt/apache-karaf/bin/client +``` +или ssh клиент с дальнейшим вводом пароля (karaf) +```bash +ssh -p 8101 karaf@localhost +``` + +И в консоли карафа запускаем скрипт с установкой необходимых фич: +```bash +shell:source ./install.karaf +``` +Ждём окончания деплоя в караф. +(Не всегда полная установка проходит с первой попытки и тогда помогает повторный запуск `source install.karaf`) + + + +Также есть вариант с nexus +После старта получаем пароль для admin через команду: +`docker-compose exec nexus cat /nexus-data/admin.password`. +Через админку нужно разрешить анонимный деплой или настроить доступы. +Урл для install.karaf +`http://nexus:8081/repository/maven-snapshots/@id=local-nexus@snapshots@noreleases` + + + +Остановить все контейнеры +`docker-compose down` +Остановить и удалить хранилища с БД и репой +`docker-compose down -v` -- 2.43.0