drools - 流口水开发和生产分离很好
问题描述
我想要做的是在drools 基础设施中建立单独的开发和生产环境,我可以在其中测试我编写的规则,然后再将其投入生产。我所做的事情被遵循。首先,我从 jbpm-workbench 运行了一个 docker 容器,并使用以下命令安装了一个本地卷来为其内部 git 存储库提供服务:
docker run -p 8080:8080 -p 8001:8001 -d --name jbpm-workbench -v ~/drools_repo:/opt/jboss/wildfly/bin/.niogit jboss/jbpm-workbench-showcase:latest
然后使用以下命令将两个 kie 服务器连接到工作台:
docker run -p 8180:8080 -d --name kie-server-stage --link jbpm-workbench:kie-wb jboss/kie-server-showcase:latest
docker run -p 8280:8080 -d --name kie-server-production --link jbpm-workbench:kie-wb jboss/kie-server-showcase:latest
到目前为止,我在工作台控制台的执行服务器页面中获得了两个远程服务器,每个服务器都作为服务器模板呈现。到目前为止,一切都很好。但是后来我在其部署过程的流畅性方面遇到了麻烦。首先,我意识到每次对规则进行更改时,我都应该将其部署到服务器模板,除非在执行服务器页面中无法识别此更改以创建新容器或被扫描仪拾取(即使当项目的版本已更新)。所以我创建了一个临时服务器模板来在那里部署更改(以便其他服务器模板,远程的,可以看到升级)。但后来我意识到,每次我想部署更改时,我都必须增加项目的版本,因为它会抱怨容器名称重复。所以我已经达到了我的目标,即分阶段和生产环境的分离。但是每次更改规则时我必须执行的过程,我认为是一个拖累!我确定有另一种方法可以做到这一点,而无需在每次进行更改并部署到临时服务器模板时增加版本?没那么干净!那么你能告诉我如何在不感到厌恶的情况下做到这一点吗?
解决方案
推荐阅读
- c# - 如何识别
用于 Int、String、Generic 类型或类的类型 - android - 注销时如何在android中停止位置更新
- go - 我应该为下游服务调用创建一个新的上下文还是只是简单地传递上游的?
- angular - 如何在业力单元测试中调用 API post 方法并在 Angular 4 中获得响应
- javascript - 为什么 onclick 事件在 JavaScript 和 Thymeleaf 中都不起作用?
- ruby - Ruby:为什么第三个条件语句不成立?
- php - 未定义属性:Illuminate\Database\Eloquent\Relations\BelongsTo::$center_name
- php - 如何在 PHP 中获取视频时长和视频艺术家姓名?
- c - `printf()` 中格式说明符“%qd”的用途是什么?
- php - 如何在 php 中获取 Sql Not Null 字段?