【发布时间】:2018-04-09 05:39:08
【问题描述】:
在评估了 Ansible Tower、rundeck 等现有工具后,似乎没有任何工具可以满足所需的要求。
我们有复杂的数据中心服务器、数据库集群和 Web 服务器,数据中心有很多客户端系统、+100 和其他工具,如 solr、redis、kafka... 部署在物理上服务器,更不用说相同的数据中心服务器有不同的帐户,linux 用户,(QA,stag,production..etc),现在关于这些环境的元数据以及他们的 web 应用程序,要使用的源代码,集群的服务器都在 xml 上定义,并且有一个 bash 脚本从该 XML 读取,手动操作以运行任何操作/任务(如签出源、构建、部署、启动、停止......和其他自定义操作)
这个系统应该由开发人员和 DevOps 工程师一起完成,但我想知道,有没有更好的框架可以用于这个系统?在这种情况下工作流框架是否可用?例如,Activiti BPMN? Ant 是一种选择,但我们不仅仅需要一个自动化工具,而不是调度程序和日志记录以及许多其他服务。
如果这不是正确的地方,你能指出我在哪里问过这样的问题吗?
需要创建一个基于网络的系统作为自动化工具:
用于定义要完成的特定操作的 UI,例如在特定环境上跨集群特定 Web 应用程序构建、部署、在特定机器上启动/停止特定 Web 应用程序或任何其他自定义操作,具有多个选择和灵活动态的选择方式。
FE 应显示正在执行的工作流和其中的操作。
将一组操作创建为单个工作流的动态方式,具有动态设置它们之间依赖关系的能力。
该系统的后端代码与现有的 bash 脚本之间的接口,该脚本将跨 DC 服务器执行实际任务。
能够根据工作流之间定义的复杂依赖关系组织这些操作的调度程序。
为用户提供身份验证和授权服务,因为在操作、环境、产品等方面会有很多自定义角色
记录系统以保存操作输出。
【问题讨论】:
-
这更像是一个咨询问题,而不是一个有问题的实际问题
-
毫无疑问:这是纯粹的开发操作,需要编写脚本,以外科手术的方式。不要忘记单元测试。如果我是这个开发人员,我会用 php cli 来做,没有框架。创建您自己的框架。
标签: ant frameworks devops activiti