entaxy-public/features/README.ru.md

182 lines
7.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Установка фич (features)
### Languages
[English](README.md)
### Введение
Для установки фич понадобятся несколько шагов.
Использовать Java 8
### Шаг 1: Сборка проекта
Необходимо локально собрать корневой проект:
mvn install
#### Шаг 2: Настройка брокера, БД и менеджера артефактов.
При использовании докера запустите Артемис
sudo docker run --rm -p 8161:8161 -p 61616:61616 -e ARTEMIS_USERNAME=entaxy -e ARTEMIS_PASSWORD=entaxy --name=artemis1 -d vromero/activemq-artemis
И запустите постгрес
sudo docker run --name entaxy_db -p 5432:5432 -v /etc/timezone:/etc/timezone:ro -e POSTGRES_PASSWORD=entaxy -e POSTGRES_USER=entaxy -e POSTGRES_DB=cache -d postgres
или Майкрософт Сиквел
sudo docker run --name mssql -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=entaxy' -p 1433:1433 -d mcr.microsoft.com/mssql/server:2017-CU8-ubuntu
`По умолчанию в проекте используется 2 базы данных: cache и esb_entaxy,`
`Названия баз данных прописаны в конфигурациях соединений с бд org.ops4j.datasource-entaxy.esb.*.cfg`
и осталось поднять nexus(необходимо для работы system-management)
sudo docker run -d -p 8081:8081 --name nexus sonatype/nexus3
Теперь смотрим админский пароль через команду:
docker exec nexus cat /nexus-data/admin.password
И далее заходим в админку через браузер на http://localhost:8081/.
По умолчанию для работы требуется создать пользователя entaxy/entaxy и maven репозиторий с названием entaxy.
На Docker Toolbox могут возникнуть ошибки из-за нехватки памяти, решается изменением выделения памяти при запуске`
docker run -d -p 8081:8081 --name nexus -e INSTALL4J_ADD_VM_PARAMS="-Xms2g -Xmx2g -XX:MaxDirectMemorySize=3g" sonatype/nexus3
#### Шаг 3: Подготовка и запуск карафа
Скопировать в карафовский etc следующие файлы из репозитория entaxy-framework\features\src\main\cfg\
jre.properties
org.apache.karaf.cellar.groups.cfg
Так же локальный нексус репозиторий необходимо добавить к стандартным репозиториям в файле org.ops4j.pax.url.mvn.cfg свойство org.ops4j.pax.url.mvn.repositories.`
`Пользователь и название репозитория прописано в конфигурационном файле ru.entaxy.esb.deployer.nexus.cfg.`
Запуск Apache Karaf 4.x или новее
karaf
Или запуск карафа с очисткой до первоначального состояния
karaf clean
## Шаг 4: Установка всех фич за один раз, используя командную строку карафа
shell:source <project-directory>/entaxy-framework/features/src/main/script/install.karaf
- После требуется проверить конфигурации соединений с бд в файлах org.ops4j.datasource-entaxy.esb.*.cfg
- Проверить адрес брокера в файле ru.entaxy.esb.cfg свойство ru.entaxy.esb.jms.url
- Проверить адреса брокеров для моста в файле ru.entaxy.esb.system.bridge.cfg свойства jms.url.*
- Заменить файл org.apache.karaf.cellar.groups.cfg
#### Шаг 4a: Или можно установить фичи вручную
Добавить необходимые фичи
feature:repo-add mvn:ru.entaxy.esb/karaf-features/LATEST/xml/features
feature:install liquibase-updater
feature:install entaxy-esb-api
Установить nsi
feature:install nsi
Установить permission
feature:install permission
Установить реестр систем
feature:install system-registry
Установить тестовый профиль
install -s blueprint:mvn:ru.entaxy.esb.integration.esb.test.profiles/test-profiles/1.0-SNAPSHOT/xml/s_s1
Установить реестр групп систем
feature:install system-group-registry
Установить профиль группы систем
install -s blueprint:mvn:ru.entaxy.esb.integration.esb.test.profiles/test-profiles/1.0-SNAPSHOT/xml/g_fzd
Установить мост
feature:install bridge
Установить сервис управления учётными записями
feature:install basic-auth
Установить events
feature:install events
Для дев окружения может быть полезна команда watch
bundle:watch mvn:ru.entaxy.esb/nsi-esb/1.0-SNAPSHOT
#### Шаг 5: Проверка доступности сервиса через браузер, используя следующий адрес.
Подразумевается использование настроек по умолчанию для карафовского PAX Web, который для http настроен на порт `8181`. Если Вы желаете использовать другой порт или https, то необходимо поменять настройки в `${KARAF_HOME}/etc/org.ops4j.pax.web.cfg`. Непосредственное продолжение адреса после имени хоста и номера порта (в примере ниже `cxf`) можно настроить в файле `org.apache.cxf.osgi.cfg`. (Для более подробной информации по PAX Web перейдите по ссылке [http://team.ops4j.org/wiki/display/paxweb/Pax+Web](http://team.ops4j.org/wiki/display/paxweb/Pax+Web))
#### Шаг 6: Запуск SOAPUI или Postman
Отправка POST запроса на адрес
http://localhost:8181/cxf/xdto/NSI
Тестовый запрос:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xdto="http://www.entaxy.ru/xdto_NSI">
<soap:Header/>
<soap:Body>
<xdto:GetMDMReferences/>
</soap:Body>
</soap:Envelope>
Ответ сожержит GUID, скопируйте его и отправьте для получения результата:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xdto="http://www.entaxy.ru/xdto_NSI">
<soap:Header/>
<soap:Body>
<xdto:GetResult>
<xdto:RequestNumber>{GUID}</xdto:RequestNumber>
</xdto:GetResult>
</soap:Body>
</soap:Envelope>
## Автотесты
<https://learning.getpostman.com/docs/postman/collection_runs/command_line_integration_with_newman/>
#### Установка
npm install -g newman
#### Запуск
cd test
newman run "Entaxy Integration Tests.postman_collection.json" -e "entaxy dev proxy.postman_environment.json"
#### Запуск нагрузочных тестов через Jmeter
В тестах прописана система s1, запросы направляются на 83 ноду
* 1C-EXCHANGE_SEND_GET_ASK.jmx - запись и чтение с подтверждением последовательно
* 1C-EXCHANGE_SEND_GET_ASK_ASYNC.jmx - запись и чтение с подтверждением в параллельных потоках
Можно запускать с машины 192.168.122.76
cd /opt/jenkins/.jenkins/workspace/test_master/test/jmeter
/opt/apache-jmeter-5.2.1/bin/jmeter.sh -n -t ./1C-EXCHANGE_SEND_GET_ASK_ASYNC.jmx