bat神技之多应用如何一键启动编排

2020-11-06  本文已影响0人  raysonfang

在日常开发中,我们启动应用环境的时候,不仅仅是单体应用启动,同时也会启动一些外部服务,比如redis, zookeeper,nginx以及消息中间件等服务。

我们在启动这些外部服务的时候, 需要手动一个一个的去启动,非常地不方便。

那这篇文章,也将分享一下如何利用bat脚本文件解决多应用编排,达到一键启动多应用的效果。

首先先看看我是怎么实现的,然后再详细讲解命令,然后同学们就可以进行自行扩展。

@echo off
chcp 65001
start "zookeeper" cmd /k E:\xxx\appserver\zookeeper-3.4.14\bin\zkServer.cmd

start "nginx" cmd /c "cd /d E:\xxx\appserver\nginx-1.16.1&&start nginx"

start "RabbitMQ" cmd /c "cd /d E:\Program Files\RabbitMQ Server\rabbitmq_server-3.8.2\sbin&&rabbitmq-server.bat"

ping 127.1 -n 6 >nul
echo -------------------------------------------------
echo 1.zkServer运行完成,继续往下....
echo --------------------------------------------------
echo;
echo;------运行结束--------
pause

这些命令翻译过来的含义如下

1. 关闭该命令后所有命令的回显,只显示输入命令后回显结果
2. 设置命令窗口的编码为utf8 以免中文乱码
3. 开始执行zookeeper服务,cmd 是打开新的 cmd 窗口, /k 是指执行命令后 不关闭新窗口,以保持zookeeper服务运行。
4. 开始执行nginx服务,是打开新的 cmd 窗口, /c 是新窗口中执行完命令后,关闭cmd新窗口
5. 开始执行RabbitMQ Server服务。
6. ping 127.1 -n 6 > nul 等待5s后继续往下执行
... 
echo 是打印输出信息

总结模板命令如下:
启动命令

start "命令窗口标题" cmd (/c or /k)  "软件启动命令"

延时命令
延时等待。比如服务之间有先后依赖关系的。需要先等待一个服务启动,延时5s后,再启动下一个服务。那这个延时等待命令就起到作用了。

echo 延时5s
ping 127.1 -n 6 >nul

echo 延时10s
ping 127.1 -n 11 >nul

有些同学可能没有写过bat批处理文件,没关系的。多查查资料就明白了。

收藏点赞加关注,神技天天有

上一篇下一篇

猜你喜欢

热点阅读