Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
M
master-5.0
Project
Project
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
Graph
比较
统计图
议题
0
议题
0
列表
看板
标记
Milestones
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
注册表
注册表
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
svn
master-5.0
Commits
736df5f8
提交
736df5f8
authored
11月 21, 2019
作者:
liupengfei
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
stop.sh if语法错误
上级
6ba3608f
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
94 行增加
和
3 行删除
+94
-3
GenerateScript.java
tools/src/main/java/tools/deploy/GenerateScript.java
+92
-3
ServerEntity.java
tools/src/main/java/tools/deploy/ServerEntity.java
+2
-0
没有找到文件。
tools/src/main/java/tools/deploy/GenerateScript.java
浏览文件 @
736df5f8
...
...
@@ -2,7 +2,7 @@ package tools.deploy;
import
java.io.*
;
import
java.net.URL
;
import
java.util.
HashMap
;
import
java.util.
Comparator
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Objects
;
...
...
@@ -45,10 +45,95 @@ public class GenerateScript {
logger
.
info
(
"生成{}服务的关闭和启动脚本成功"
,
k
);
});
// 生成一键关闭所有服务的脚本
logger
.
info
(
"生成一键关闭脚本"
);
// 生成一键关闭所有服务的脚本1 sh /opt/jgjy/batch.sh "/opt/jgjy/*-stop.sh"
createAllStopScript
(
rootpath
);
// 生成一键关闭所有服务的脚本2 sh 每个-stop.sh
createAllStopScript
(
rootpath
,
map
);
// 生成一键关闭所有服务的脚本3 sh killAll.sh 根目录
createAllStopScriptByKillALL
(
rootpath
);
logger
.
info
(
"生成一键关闭脚本成功"
);
logger
.
info
(
"生成一键启动脚本"
);
// 生成一键启动所有服务的脚本
createAllStartScript
(
rootpath
,
map
);
logger
.
info
(
"生成一键启动脚本成功"
);
}
public
static
String
createAllStartScript
(
String
rootpath
,
Map
<
String
,
ServerEntity
>
map
)
{
File
f
=
new
File
(
rootpath
+
scriptPath
+
"all-start.sh"
);
logger
.
info
(
"正在创建一键启动所有服务的脚本:{}"
,
f
.
getAbsolutePath
());
StringBuffer
script
=
new
StringBuffer
(
" \n "
);
script
.
append
(
" sh "
+
rootpath
+
"/bin/svnup.sh "
+
rootpath
);
// 更新脚本
script
.
append
(
" \n "
);
script
.
append
(
" mvn -f "
+
rootpath
+
" clean install "
);
ServerEntity
eurekaServer
=
map
.
get
(
"eureka"
);
script
.
append
(
" \n "
);
script
.
append
(
eurekaServer
.
getStartScript
());
script
.
append
(
" \n "
);
script
.
append
(
" echo \"eureka 正在启动 等待20s...\" "
);
script
.
append
(
" \n "
);
script
.
append
(
" sleep 20 "
);
script
.
append
(
" \n "
);
ServerEntity
configServer
=
map
.
get
(
"config"
);
script
.
append
(
configServer
.
getStartScript
());
script
.
append
(
" \n "
);
script
.
append
(
" echo \"config 正在启动 等待20s...\" "
);
script
.
append
(
" \n "
);
script
.
append
(
" sleep 20 "
);
script
.
append
(
" \n "
);
map
.
keySet
().
stream
().
filter
(
s
->
!
"eureka"
.
equals
(
s
)).
filter
(
s
->
!
"config"
.
equals
(
s
)).
map
(
map
::
get
)
.
sorted
(
Comparator
.
comparing
(
ServerEntity
::
getLeave
)).
forEach
(
v
->
{
script
.
append
(
" echo \""
+
v
.
getName
()
+
" 正在启动... \" "
);
script
.
append
(
" \n "
);
script
.
append
(
v
.
getStartScript
());
script
.
append
(
" \n "
);
script
.
append
(
" echo \""
+
v
.
getName
()
+
" 启动完成 \" "
);
script
.
append
(
" \n "
);
});
logger
.
info
(
"一键启动所有服务脚本内容:{}"
,
script
.
toString
());
write
(
f
,
script
.
toString
());
return
f
.
getAbsolutePath
();
}
public
static
String
createAllStopScriptByKillALL
(
String
rootpath
){
File
f
=
new
File
(
rootpath
+
scriptPath
+
"all-stop3.sh"
);
logger
.
info
(
"正在创建一键关闭所有服务的脚本3:{}"
,
f
.
getAbsolutePath
());
String
script
=
" sh "
+
rootpath
+
"/bin/killAll.sh "
+
rootpath
;
logger
.
info
(
"一键关闭所有服务脚本3内容:{}"
,
script
);
write
(
f
,
script
);
return
f
.
getAbsolutePath
();
}
public
static
String
createAllStopScript
(
String
rootpath
,
Map
<
String
,
ServerEntity
>
map
)
{
File
f
=
new
File
(
rootpath
+
scriptPath
+
"all-stop2.sh"
);
logger
.
info
(
"正在创建一键关闭所有服务的脚本2:{}"
,
f
.
getAbsolutePath
());
StringBuffer
script
=
new
StringBuffer
();
map
.
forEach
((
k
,
v
)
->
{
script
.
append
(
" echo \"正在关闭"
+
k
+
"服务\" "
);
script
.
append
(
" \n "
);
script
.
append
(
" sh "
+
v
.
getStopPath
());
script
.
append
(
" \n "
);
script
.
append
(
" echo \"关闭"
+
k
+
"服务成功\" "
);
script
.
append
(
" \n "
);
});
logger
.
info
(
"一键关闭所有服务脚本2内容:{}"
,
script
.
toString
());
write
(
f
,
script
.
toString
());
return
f
.
getAbsolutePath
();
}
/**
* Description: sh /opt/jgjy/batch.sh "/opt/jgjy/*-stop.sh"
* @param rootpath
* @return java.lang.String
* @author lpf
* @date 2019-11-325 11:20
*/
public
static
String
createAllStopScript
(
String
rootpath
)
{
File
f
=
new
File
(
rootpath
+
scriptPath
+
"all-stop1.sh"
);
logger
.
info
(
"正在创建一键关闭所有服务的脚本1:{}"
,
f
.
getAbsolutePath
());
String
script
=
" sh "
+
rootpath
+
"/bin/batch.sh \""
+
rootpath
+
"/bin/server/*-stop.sh\""
;
logger
.
info
(
"一键关闭所有服务脚本1内容:{}"
,
script
);
write
(
f
,
script
);
return
f
.
getAbsolutePath
();
}
public
static
String
createStartScript
(
String
rootpath
,
ServerEntity
entity
)
{
File
f
=
new
File
(
rootpath
+
scriptPath
+
entity
.
getName
()
+
"-start.sh"
);
...
...
@@ -71,7 +156,11 @@ public class GenerateScript {
script
.
append
(
" mvn -f "
+
entity
.
getPath
()
+
" clean package "
);
// 子项目打包
script
.
append
(
" \n "
);
// 启动命令 sh start.sh /opt/svn/master5.0/com.zrqx.pom/app/order/target/*.jar /opt/svn/master5.0/com.zrqx.pom/log/order.log
script
.
append
(
" sh "
+
rootpath
+
"/bin/start.sh "
+
entity
.
getPath
()+
"/target/*.jar "
+
rootpath
+
"/log/"
+
entity
.
getName
()+
".log "
);
// 项目启动
String
startScript
=
" sh "
+
rootpath
+
"/bin/start.sh "
+
entity
.
getPath
()+
"/target/*.jar "
+
rootpath
+
"/log/"
+
entity
.
getName
()+
".log "
;
script
.
append
(
startScript
);
// 项目启动
entity
.
setStartScript
(
startScript
);
script
.
append
(
" \n "
);
script
.
append
(
" echo \"日志文件路径:"
+
rootpath
+
"/log/"
+
entity
.
getName
()
+
".log\" "
);
script
.
append
(
" \n "
);
logger
.
info
(
"{}服务启动脚本内容:{}"
,
entity
.
getName
(),
script
.
toString
());
write
(
f
,
script
.
toString
());
...
...
tools/src/main/java/tools/deploy/ServerEntity.java
浏览文件 @
736df5f8
...
...
@@ -21,4 +21,6 @@ public class ServerEntity {
private
String
startPath
;
/** 服务等级 定义启动顺序 eureka 0 config 1 zull|其他服务治理服务 2 app服务 3 */
private
int
leave
;
/** 启动命令,解决一键启动重复打包问题,在创建服务启动脚本时填充信息 java -jar... */
private
String
startScript
;
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论