Dataease安装,配置Jenkins自动部署

发布于:2024-06-28 ⋅ 阅读:(15) ⋅ 点赞:(0)

Dataease安装,配置Jenkins自动部署

一.安装Dataease

安装前准备:1.Ubuntu20.04 LTS国内源安装指定版本Docker

2.docker-compose安装

下载离线安装的安装包,下载地址:https://community.fit2cloud.com/#/download/dataease/v1-18-9

img

上传到服务器的安装目录,然后解压

tar -zxvf dataease-v1.18.9-offline.tar.gz

img

然后编辑install.conf文件,内容如下:

# 基础配置
## 安装目录
DE_BASE=/opt
## Service 端口
DE_PORT=8765
## 部署及运行模式,可选值有 local、simple、cluster,分别对应 本地模式、精简模式、集群模式
DE_ENGINE_MODE=local
## docker 网段设置
DE_DOCKER_SUBNET=172.19.0.0/16
## docker 网关 IP
DE_DOCKER_GATEWAY=172.19.0.1
## Apache Doris FE IP (外部 Doris 此参数无效)
DE_DORIS_FE_IP=172.19.0.198
## Apache Doris BE IP (外部 Doris 此参数无效)
DE_DORIS_BE_IP=172.19.0.199
## 登录超时时间,单位min。如果不设置则默认8小时,也就是480
DE_LOGIN_TIMEOUT=480

# 数据库配置
## 是否使用外部数据库
DE_EXTERNAL_MYSQL=false
## 数据库地址
DE_MYSQL_HOST=mysql
## 数据库端口
DE_MYSQL_PORT=13306
## DataEase 数据库库名
DE_MYSQL_DB=dataease
## 数据库用户名
DE_MYSQL_USER=root
## 数据库密码
DE_MYSQL_PASSWORD=Password123@mysql
## 数据库参数
DE_MYSQL_PARAMS="autoReconnect=false&useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false"

# Apache Doris 配置
## 是否使用外部 Apache Doris
DE_EXTERNAL_DORIS=false
## Doris 地址
DE_DORIS_HOST=doris-fe
## Doris 查询连接端口
DE_DORIS_PORT=9030
## Doris http端口
DE_DORIS_HTTPPORT=8030
## Doris 数据库名称
DE_DORIS_DB=dataease
## Doris 用户名
DE_DORIS_USER=root
## Doris 密码
DE_DORIS_PASSWORD=Password123@doris

# Kettle 配置
## 是否使用外部 Kettle - (目前还不支持外部Kettle,除非不需运行Kettle,否则请不要修改此参数)
DE_EXTERNAL_KETTLE=false
## Kettle 服务器地址
DE_CARTE_HOST=kettle
## Kettle 访问端口
DE_CARTE_PORT=18080
## Kettle 用户名
DE_CARTE_USER=cluster
## Kettle 密码
DE_CARTE_PASSWORD=cluster

注意:如果安装模式选择simple、cluster默认不会安装Kettle和Doris,需要自己安装,所以这里安装模式选择local。

修改好install.conf之后,就可以执行install.sh脚本,会自行安装dataease。

img

然后等待启动结果

img

然后就可以通过主机IP加8765端口访问dataease。

img

二,Jenkins配置自动打包部署,并替换二开镜像

1.首先拉取代码到gitea仓库

进入Gitea选择创建仓库

image-20240627152345352

选择Git迁移代码库

Github:https://github.com/dataease/dataease.git

image-20240627152404411

2.Jenins添加Node插件,Maven配置文件

node版本选择15.12

img

添加新的Maven配置

image-20240627152425259

img

这两个都要加上相同的配置

img

配置内容如下:

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd">
<!-- 根据自己需要调整本地仓库 -->
    <servers>
    </servers>

    <mirrors>
        <!-- 阿里云仓库 -->
        <mirror>
            <id>alimaven</id>
            <mirrorOf>central</mirrorOf>
            <name>aliyun-maven</name>
            <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
        </mirror>
    </mirrors>

    <profiles>
        <profile>
            <id>uni</id>
            <repositories>
                <repository>
                    <id>aliyun-maven</id>
                    <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
                    <releases>
                        <enabled>true</enabled>
                        <updatePolicy>always</updatePolicy>
                    </releases>
                    <snapshots>
                        <enabled>false</enabled>
                    </snapshots>
                </repository>
            </repositories>
        </profile>
    </profiles>

    <activeProfiles>
        <activeProfile>uni</activeProfile>
    </activeProfiles>
</settings>

然后在前端目录新增一个打包配置,把镜像源设置为国产镜像源

img

在项目根路径新增一个docker-compose文件

image-20240627152523348

3.新增ssh-server

image-20240627152540237

4.配置项目

新建项目

img

配置gitea仓库和分支

image-20240627152600349

在构建前删除原docker-compose文件

img

配置nodejs,并且打包前端项目

img

img

配置后端打包并且指定打包的Maven配置imgimg

打包镜像并替换docker-compose的内容

image-20240627152645274

内容如下:

echo "===============动态参数配置 begin===============>"
APPLICATION_NAME=dataease
username=admin
password=passwd
IMAGE_TAG=1.18.7
TAG=1.18.7-${BUILD_NUMBER}

echo "===============登录Harbor===============>"
echo ${password} | docker login -u ${username} <your ip>:86 --password-stdin

docker build --build-arg IMAGE_TAG=$IMAGE_TAG -f Dockerfile -t $APPLICATION_NAME:$TAG .

echo "current docker images:"
docker images | grep $APPLICATION_NAME

echo "docker tag =====>"
docker tag $APPLICATION_NAME:$TAG  <your ip>:86/common/$APPLICATION_NAME:$TAG

echo "docker push =====>"
docker push <your ip>:86/common/$APPLICATION_NAME:$TAG

sed -i "s/imageVersion/${APPLICATION_NAME}:${TAG}/" docker-compose.yml

通过ssh-server,替换服务器上dataease安装路径中的docker-compose文件

img

然后通过自带的工具执行重启命令,这里写了一个重启的脚本

#!/bin/bash

# 执行重新加载操作
/home/ngtl/dataease-v1.18.9-offline/dectl reload

# 等待一段时间,确保重新加载完成(根据实际情况调整等待时间)
sleep 10

# 检查服务状态并输出相应消息
status=$(/home/ngtl/dataease-v1.18.9-offline/dectl status)

if [[ $status == *"正常运行"* ]]; then
  echo "Dataease已重新加载"
else
  echo "DataEase服务状态: $status"
fi

网站公告

今日签到

点亮在社区的每一天
去签到