环境

部署项目之前请确定您的电脑开发环境
  • maven
  • Git
  • jdk8
  • eclipse 等IDE
  • mysql 5.6+ 或 oracle(非个人版)
  • redis
  • 工作空间字符集 UTF-8
  • maven 私服使用 各个工程中 root pom 中的私服地址

SpringBoot 开源版开发部署

  1. Clone Spring Boot 版本项目
https://gitee.com/agile-bpm/agilebpm-base-spring-boot.git
  1. 引入 Maven Spring Boot 项目,含 agilebpm-app-simples,demo,demo-project-ui 三个案例工程
  1. 对项目根目录执行 mvn 命令 clean install 安装相关依赖(请务必使用root pom中私服地址
  1. 建表、执行初始化语句,按照 初始化SQL顺序依次执行,参考 readme,非升级情况请勿执行upgrade语句。(也可复制只读demo库 47.106.139.29:3306/angular mysql 数据库请忽略大小写)
  1. 启动项目,修改数据库配置( application.yml ) 然后在 SamplesApplication.java 中执行 main 方法
  1. 浏览器访问 http://localhost:8080 即可体验 AgileBPM !

如果需要查看源码可以引入 agilebpm 主工程 https://gitee.com/agile-bpm/agile-bpm-basic

最后推荐 查看 敏捷流程实施三步曲 了解 整体 流程实施 解决方案

OA 版本开发部署

安装前必读

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

  1. install agilebpm 相关模块(基础功能相关模块源码)
  1. install wf 相关模块(流程模块源码,若没有该模块源码则需要从 agilebpm 私服下载相关 jar,上传自己公司私服。具体 agilebpm 私服地址请参考 agilebpm root pom 中的配置)
  1. install agilebpm-base-spring-boot 相关模块(spring boot 版本 starts)
  1. install agilebpm-oa 相关模块 (内容管理模块源码,以及app项目模块)
  1. 创建数据库,初始化 agilebpm模块下doc目录的 数据库初始化脚本 ,如 MySQL的 1~7 (不要执行upgrade脚本)
  1. 执行 oa模块下 doc 目录的初始化脚本,如 MySQL 的1~3
  1. 修改数据库、Redis配置文件后,main 方法启动后端服务
    agilebpm-oa-app/src/main/java/com/dstz/agilebpm/oa/OAApplication.java
  1. 开发环境使用 node 运行 agilebpm-oa-ui 前端项目,请参考前端工程下 readme 配置并启动 前端工程

agile-bpm-basic 传统版本开发部署

Web 传统版本部署文档不再提供,请尽量使用Springboot版本,他们是 没有区别的。

如果需要查看源码可以引入 agilebpm 主工程

  • eclipse引入源码: agilebpm与springBoot版本在同一工程下即可
  • idea引入源码: 在maven视图下,引入 agilebpm 的 root pom 即可

由于很多新手用个 Tomcat 都举步维艰,所以为了避免他们浪费时间,web版本部署文档撤掉了,有需要可以到旧版文档查看

请注意:开源版本是 老版本v1.3.x,绿色主题,商业版是蓝色主题

移动端开发环境部署

开发前请确认机器安装有 node js

  1. 引入移动端项目 bpm-app https://gitee.com/agile-bpm/bpm-app.git
  2. 在项目目录下安装依赖 ,控制台执行node命令 npm install
  3. baseService.js文件 中配置 ctx 地址指向后台项目的服务器地址(新版在/bpm-app/src/setting.js中配置)
  4. 启动热部署项目 npm run dev
  5. 如果需要部署线上则执行 npm run build 然后部署打包后的 dist 目录文件

移动端基于 VUX,开发文档可以查看官网: https://vux.li/

更多介绍请参考 移动端文档

传统版本部署至Tomcat服务器

  1. 部署前请确认 移动端 ctx 配置是否正确
  2. 确认环境与数据库连接是否正确
  3. 对web项目执行 package 命令,将 agile-bpm-platform.war 拖至 Tomcat webapps 目录
  4. 将 pc 端 bpm-explorer 拖至 webapps 目录
  5. 对移动端执行 npm build 命令然后将 dist 目录内容 拖至 webapps 目录,修改目录名为移动端 ctx:bpm-app

建议使用Jenkins构建
server 启动后对应的前端访问地址:
pc端: http://ip:port/bpm-explorer/
移动端: http://ip:port/bpm-app/

他们对应的后端 Rest 服务资源地址为 http://ip:port/agile-bpm-platform/

这里只提供一种部署方式,当然使用网关、独立部署前后端都没关系、只要保证前端项目请求到后端项目地址无误即可

agilebpm-microservices部署及运行

请参考 工程下readme 文件部署

开发部署中常见问题

  • jar 包下载不到
    可能是自己配置了私服,导致无法从root 目录 pom 中配置的私服下载部分jar ,如果还有问题请 对 root 目录 执行 clean install 命令做检查
  • 首页菜单不展示,不跳转登录页
    可能是:前后端项目 ctx 配置的问题。 大多是重新部署后,后端项目ctx 没有配置,导致前端请求 404。所以请打开控制台,检查前端项目url访问地址,此地址与后端部署项目是否一致。
  • 系统不支持当前域名的访问,请联系管理员
    在app-security.xml 配置文件中 对csrfFilter 的 ingores 进行域名忽略配置。
    移动端开发部署,目前是不同域名的,所以必须添加忽略。否则会出如上异常提示
  • PC前端项目修改ctx,修改公共js
    在 app-conf.js 中可以修改 ctx 地址,然后项目目录下 执行webpack 命令打包压缩js

  • IVEW 前端部署
    请参考 Nginx 下SPA前端工程的部署文章 https://blog.csdn.net/zcs425171513/article/details/82463239

  • 添加新的 controller 无法访问
    可以参考 demo 模块下的 readme.md 有关于 包扫描的描述,也有可能是项目 没有热部署、那就需要手动 install 相关模块 ,也请检查web模块 代码版本是否与源码一致

  • 更多 常见问题以及解答

视频讲解

讲解项目模块结构,演示部署过程

引入LDAP 组件

LDAP 组件并非所有用户都需要,所以请按照需引入
如果需要定时触发同步动作、或者手动同步,请参考同步 REST 接口,自行调用

引入依赖

<dependency>
<groupId>com.dstz.agilebpm</groupId>
<artifactId>agilebpm-component-ldap</artifactId>
</dependency>

属性配置

属性名 可选(Y/N) 描述
ab.ldap.server N Ldap服务地址;示例:ldap://127.0.0.1:10389/dc=agilebpm,dc=cn
ab.ldap.manager-d-n N Ldap管理域;示例:uid=admin,ou=system
ab.ldap.manager-password N Ldap管理者密码
ab.ldap.authentication-type Y Ldap鉴权方式;默认simple
ab.ldap.userSearchBase Y Ldap用户查询基础路径
ab.ldap.userSearchFilter Y Ldap用户查找筛选;默认值:uid={0}
ab.ldap.account.attribute.uid Y Ldap账户属性UID映射;默认:uid
ab.ldap.account.attribute.displayName Y Ldap账户属性显示名称映射;默认:displayName
ab.ldap.account.attribute.mobile Y Ldap账户属性手机号映射;默认:mobile
ab.ldap.account.attribute.mail Y Ldap账户属性邮箱映射;默认:mail
ab.ldap.account.attribute.pwdLockout Y Ldap账户属性账户锁定映射;默认:pwdLockout

示例配置

ab:
ldap:
server: ldap://127.0.0.1:10389/dc=agilebpm,dc=cn
manager-d-n: uid=admin,ou=system
manager-password: secret
authentication-type: simple

REST接口

  • /ldap/sync/execute

同步LDAP账户信息到org_user表中