Conductor是一个运行在云上的编排引擎,可以对不同的task进行管理,Conductor由Netflix的Media Workflow Infrastructure团队维护。
根据Conductor的官方文档,依赖环境如下:
Database: Dynomite
Indexing Backend: Elasticsearch 2.x
Servlet Container: Tomcat, Jetty, or similar running JDK 1.8 or higher
官网提供3种安装部署方式
Conductor Server启动有3种模式,和配置文件中db参数有关,如果不指定则默认为内存模式,还可以指定为redis或dynomite,dynomite是官方标配。
当运行在内存模式下,Dynomite和ElasticSearch 2.x都是非必需的。
安装Conductor
git clone https://github.com/Netflix/conductor.git
cd conductor
./gradlew build
当执行build时时间会比较久因为可能从网上下载gradle,这种情况下我们可以自行安装gradle,然后执行以下命令即可
cd conductor
gradle build
java -jar conductor-server-1.11.0-SNAPSHOT-all.jar
在我启动过程中,使用上面的启动方法能启动成功,但并没有创建一个kitchen workflow样例,因此采用另一种方式启动:进入conductor目录,打开git bash
cd server
gradle server
出现以下字样则说明kitchensink workflow样例启动成功
![Snipaste_2018-07-13_17-06-59](C:\Users\liuning\Pictures\Saved Pictures\Snipaste_2018-07-13_17-06-59.png)
访问网址http://localhost:8080/查看Swagger APIs,这是管理工具,可以注册task、workflow等增删改查操作。
![Snipaste_2018-07-13_17-10-56](C:\Users\liuning\Pictures\Saved Pictures\Snipaste_2018-07-13_17-10-56.png)
进入 conductor\ui\ 目录,右键 -> git bash here,执行
gulp watch
等待构建。成功后可打开 http://localhost:3000 查看workflow状态监控界面,如下图:
执行gulp命令,首先需要安装node.js,并且由于框架使用了import,node.js版本必须使用8.0以上,node装好后再安装glup。顺序应该为:安装node.js->全局安装gulp->项目安装gulp。
过程可以参考 http://www.ydcss.com/archives/18#lesson5 ,完成教程的1-5步 即安装node.js和全局安装gulp。
由于npm的官网镜像下载很慢,所以建议先按个cnpm,连接淘宝提供的npm库
npm install -g cnpm
项目安装gulp的步骤如下:
cd ui
cnpm install gulp --save-dev
cnpm install --save-dev