直接跳到内容
本页目录

作者:Jeff & 迪迪
更新于:3/20/2023

环境

部署项目之前请确定您的电脑开发环境

  • maven
  • Git
  • jdk 11 +
  • eclipse 等IDE
  • mysql8 或其他主流数据库
  • redis
  • 工作空间字符集 UTF-8
  • maven 私服使用 各个工程中 root pom 中的私服地址

开发环境部署

安装前必读

建议使用公司自己的私服,将以下需要 install 的模块 deploy 到私服,这样可以避免所有人都去下载、安装不相关的模块源码

  1. 在 agilebpm 目录下执行 mvn clean install -DskipTests 安装基础功能相关模块(如果 ab-spring-boot-app 安装失败请忽略)

  2. 在 ab-wf 目录下执行 mvn clean install -DskipTests 安装流程模块, 建议 install 到公司私服(若没有该模块源码则需要将相关jar包上传到公司的私服)

  3. 创建数据库,执行 /agile-bpm/doc/sql/mysql/full/agilebpm_full.sql(不要执行upgrade脚本,upgrade 为升级时使用的脚本)

  4. 修改数据库、Redis 配置文件/ab-spring-boot-app/src/main/resources/application.yml

通过 Main 方法启动后端服务 /ab-spring-boot/ab-spring-boot-app/src/main/java/com/dstz/AbSpringBootApp.java 如果启动有异常,install 无异常,请尝试刷新 maven 依赖。

  1. 开发环境使用 node 运行 agilebpm-ui-v5 前端项目,请参考前端开发指导 部署安装。

Linux 服务器部署

前端打包

shell
# 进入目录
$ cd agilebpm-ui-v5

# 安装依赖库
$ npm install

# 构建
$ npm run build

# 发布已打包资源
$ cd dist
$ tar -czf ../agilebpm-ui-v5.tgz *
$ cd ..

将已打包好的agilebpm-ui-v5.tgz上传至服务器

后端打包

shell
# 进入目录
$ agile-bpm

# 执行Maven打包命令
$ mvn clean package -DskipTests

发布JAR包

使用XFTP或其他工具将JAR包上传至服务器

JAR路径:ab-spring-boot/ab-spring-boot-app/target/ab-spring-boot-app-X.X.X-XXX.jar

部署

启动后端应用

假设您已安装JRE环境

shell
$ java \
-Xms2g \
-Xmx2g \
-XX:MetaspaceSize=256m \
-XX:MaxMetaspaceSize=256m \
-jar ab-spring-boot-app-X.X.X-XXX.jar

指定配置文件启动

$ java \
-Xms2g \
-Xmx2g \
-XX:MetaspaceSize=256m \
-XX:MaxMetaspaceSize=256m \
-jar ab-spring-boot-app-X.X.X-XXX.jar \
--spring.config.location=xxx.yml

配置前端应用

假设您已安装Nginx

  1. 创建目录
$ mkdir -p /var/www/html/agilebpm-ui-v5
  1. 解压缩包agilebpm-ui-v5.tgz
$ tar -zxf agilebpm-ui-v5.tgz -C /var/www/html/agilebpm-ui-v5 --no-same-permissions --no-same-owner
  1. 配置虚拟主机

/etc/nginx/conf.d/agilebpm.conf

Nginx
server {
   listen 80;
   server_name localhost;
   client_max_body_size 10m;
   // 【前端资源 路由至前端入口文件 index.html
   location / {
        try_files $uri $uri/ /index.html last;
        index index.html index.htm;
        root /var/www/html/agilebpm-ui-v5;
   }
   // 【后端API请求的路由配置,请修改后台地址 】
   location /api/ {
        proxy_pass_header Server;
        proxy_set_header Host $host;
        proxy_redirect off;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Scheme $scheme;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://127.0.0.1:8080/;
   }
}
  1. 启动Nginx
shell
# 测试配置文件是否有错误
$ nginx -t

# 重启Nginx
$ systemctl restart nginx
  1. 访问

http://xxxxx

起步 has loaded