Войти

Развертывание Типового ПО Витрина данных из исходных кодов

Предварительные действия

Для развертывания Типового ПО Витрина данных необходимо выполнить предварительные действия:

  • установить JDK (Java Development Kit) 8 для работы с проектом типового ПО Витрины данных;
  • установить и настроить фреймворк сборки проектов Maven для сборки Prostore и библиотеки dtm-calcite;
  • установить и настроить Sonatype Nexus Repository Manager в качестве локального хранилища артефактов;
  • установить и настроить систему Gradle для сборки артефактов Витрины данных.

Установка JDK 8

Для установки JDK 8 скачайте дистрибутив с официального сайта https://bell-sw.com/pages/downloads/ в соответствии с операционной системой, установленной на вашем компьютере.

После установки проверьте версию командой:

java -version
 
	


Ответ должен содержать версию jdk 1.8.0. Пример ответа ниже:
openjdk version "1.8.0_362"
OpenJDK Runtime Environment (build 1.8.0_362-b09)
OpenJDK 64-Bit Server VM (build 25.362-b09, mixed mode)

Установка Maven

Установите фреймворк Maven, как указано на странице официальной документации: https://maven.apache.org/install.html.

После установки проверьте версию фреймворка командой:

mvn -version

 
Ответ должен содержать версию Apache Maven 3.X.X. Пример ответа ниже:
Apache Maven 3.8.6 (84538c9988a25aec085021c365c560670ad80f63)
Maven home: /opt/maven/apache-maven-3.8.6
Java version: 1.8.0_362, vendor: BellSoft, runtime: /home/eugen/.sdkman/candidates/java/8.0.362-librca/jre
Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "5.19.0-35-generic", arch: "amd64", family: "unix"

Настройка Maven

В файл ~/.m2/settings.xml необходимо добавить следующие строки:
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.1.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd">
 
  <servers>
    <server>
      <id>maven-snapshots</id>
      <username>admin</username>
      <password>admin123</password>
    </server>
    <server>
      <id>maven-releases</id>
      <username>admin</username>
      <password>admin123</password>
    </server>
  </servers>
 
  <mirrors>
    <mirror>
      <id>central</id>
      <name>central</name>
      <url>http://localhost:8081/nexus/content/groups/public/</url>
      <mirrorOf>*</mirrorOf>
    </mirror>
  </mirrors>

</settings>

Сохраните изменения.
Далее необходимо добавить настройки доступа к приватным репозиториям в файле pom.xml проекта dtm и dtm-calcite-fork:
 <project...>
...
    <distributionManagement>
        <repository>
            <id>maven-releases</id>
            <name>maven-releases</name>
            <url>http://localhost:8081/nexus/content/repositories/maven-releases/</url>
        </repository>
    
        <snapshotRepository>
            <id>maven-snapshots</id>
            <name>maven-snapshots</name>
            <url>http://localhost:8081/nexus/content/repositories/maven-snapshots/</url>
        </snapshotRepository>
 
    </distributionManagement>
</project>

Установка Gradle

Установите приложение Gradle,как указано в документации: https://gradle.org/install/

После установки проверьте версию приложения командой:

gradle -version


Ответ должен содержать версию Gradle 7.6. Пример ответа ниже:
 executing gradlew instead of gradle
 
------------------------------------------------------------
Gradle 7.6
------------------------------------------------------------
 
Build time:   2022-11-25 13:35:10 UTC
Revision:     daece9dbc5b79370cc8e4fd6fe4b2cd400e150a8
 
Kotlin:       1.7.10
Groovy:       3.0.13
Ant:          Apache Ant(TM) version 1.10.11 compiled on July 10 2021
JVM:          1.8.0_362 (BellSoft 25.362-b09)
OS:           Linux 5.19.0-35-generic amd64

Установка Nexus Registry

Для установки Nexus Registry загрузите docker-compose файл в рабочий каталог https://raw.githubusercontent.com/sonatype/docker-nexus/main/docker-compose.yml и выполните команду:

docker-compose up -d

В браузере откройте страницу http://localhost:8081/nexus/

Для входа используйте имя пользователя и пароль по умолчанию:

admin / admin123


Настройка Nexus Registry

Для работы с Nexus Registry его необходимо настройка как Maven репозиторий. Для этого выполните следующие шаги:

1.  Перейдите в раздел репозиториев по ссылке http://localhost:8081/nexus/#view-repositories;
2.  Создайте приватный (hosted) репозиторий для snapshots: "maven-snapshots";

1.png

3.  Создайте приватный (hosted) репозиторий для релизов: "maven-releases";

2.png

4.  Создайте прокси репозиторий для доступа к Maven Central:

https://repo1.maven.org/maven2/

3.png

5. Создайте прокси репозиторий для доступа к JCentral https://jcenter.bintray.com/ чтобы установить все зависимости для сборки release 1.4.0

4.png

6.  Создайте общую группу репозиториев для доступа к артефактам через общий URL: "public".

5.png

Развертывание Типового ПО Витрина данных

После выполнения предварительных действий нужно:

  • запустить Prostore;
  • собрать библиотеку Calcite;
  • запустить Витрину данных.

Запуск Prostore

Для запуска Prostore клонируйте репозиторий и перейдя в корневую директорию выполните установку:

git clone https://g.info.gov.ru/typical_datamart_vd/dtm-prostore
cd datamart-prostore
mvn install
mvn clean deploy -Dmaven.test.skip=true

Сборка библиотеки Calcite

Библиотека Calcite осуществляет парсинг классов, которые используются в библиотеке podd-adapter-calcite.

Для сборки библиотеки клонируйте репозиторий и перейдя в корневую директорию выполните установку:

git clone https://g.info.gov.ru/typical_datamart_vd/dtm-calcite-fork
cd datamart-calcite
mvn install
mvn clean deploy -Dmaven.test.skip=true

Сборка Типового ПО Витрина данных

Для сборки Типового ПО Витрина данных клонируйте репозиторий и перейдя в корневую директорию выполните установку:
git clone https://g.info.gov.ru/typical_datamart_vd/smev-adapters
cd datamart

gradle clean build --info -DNEXUS_PORT=8081/nexus -DNEXUS_HOST=localhost


											
Авторизуйтесь, чтобы оставить комментарий к статье