Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
L
leader-base
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
张京坤
leader-base
Commits
cb702cf8
提交
cb702cf8
authored
3月 07, 2025
作者:
yanxin
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
容器化部署配置
上级
8bf8a90b
显示空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
36 行增加
和
18 行删除
+36
-18
env.prod
build/env/env.prod
+6
-0
env.test
build/env/env.test
+6
-0
run.sh
build/run.sh
+24
-18
没有找到文件。
build/env/env.prod
浏览文件 @
cb702cf8
...
...
@@ -28,3 +28,8 @@ svc_port="9098"
nacos_server="192.168.0.224:8848"
nacos_username="nacos"
nacos_password="nacos"
# 资源限制
## cpu
limit_cpu=2.0
limit_mem=2g
\ No newline at end of file
build/env/env.test
浏览文件 @
cb702cf8
...
...
@@ -28,3 +28,8 @@ svc_port="9098"
nacos_server
=
"192.168.0.225:8848"
nacos_username
=
"nacos"
nacos_password
=
"nacos"
# 资源限制
## cpu
limit_cpu
=
2.0
limit_mem
=
2
g
\ No newline at end of file
build/run.sh
浏览文件 @
cb702cf8
...
...
@@ -22,6 +22,7 @@ function print_usage {
function
handle
{
local
env_name
=
$1
local
build_timestamp
=
$2
local
local_ip
=
$3
echo
"执行的环境变量:
${
env_name
}
"
echo
"执行的构建时间戳:
${
build_timestamp
}
"
...
...
@@ -36,38 +37,43 @@ function handle {
local
version
=
${
version
}
-
${
build_timestamp
}
echo
"---运行容器:
${
name
}
:
${
version
}
---"
docker login
-u
=
${
repo_username
}
-p
=
${
repo_passwd
}
${
domain
}
docker pull
${
domain
}
/
${
namespace
}
/
${
name
}
:
${
version
}
# 构建 JSON 数据
json_data
=
"{
\
\"
container_name
\"
:
\"
$name
\"
,
\
\"
image_version
\"
:
\"
$domain
/
$namespace
/
$name
:
$version
\"
,
\
\"
ports
\"
: [
\"
$svc_port
:
$svc_port
\"
],
\
\"
mount_infos
\"
: [
\"
/etc/localtime:/etc/localtime:ro
\"
,
\"
$dir
/logs:
$svc_logs
\"
],
\
\"
cpu_count
\"
:
$limit_cpu
,
\
\"
memory_limit
\"
:
\"
$limit_mem
\"
,
\
\"
ulimit
\"
:
\"
nofile=65535:65535
\"
\
}"
if
[
"
$(
docker ps
-aqf
"name=^
${
name
}
"
)
"
]
;
then
# 如果存在,则停止并删除容器
echo
"停止并删除容器:
${
name
}
"
docker rm
-f
"
${
name
}
"
# 执行 curl 请求,并将响应结果存储在 response 变量中
response
=
$(
curl
-s
-X
POST
-H
"Content-Type: application/json"
-H
"X-API-Key: uOyKfp20pdM3MFhr3KAQBoe1UHCaZLUeeLephB57MPvGXTY05Eis5eaxta6fEtpa"
-d
"
$json_data
"
"http://
$local_ip
:10080/start-container"
)
echo
"响应结果:
${
response
}
"
# 检查响应中是否包含 "succeed"
if
echo
"
$response
"
|
grep
-q
"successfully"
;
then
echo
"部署成功"
exit
0
else
echo
"容器不存在直接运行:
${
name
}
"
echo
"部署失败"
exit
1
fi
docker run
--restart
always
-d
-p
${
svc_port
}
:
${
svc_port
}
--name
${
name
}
\
-v
/etc/localtime:/etc/localtime:ro
\
-v
${
dir
}
/logs:
${
svc_logs
}
\
${
domain
}
/
${
namespace
}
/
${
name
}
:
${
version
}
echo
"---清理none镜像---"
docker image prune
-af
}
# 主程序入口点
function
main
{
if
[
"$#"
-ne
2
]
;
then
if
[
"$#"
-ne
3
]
;
then
print_usage
echo
"错误: 需要提供
两个个参数 <env_name> <build_timestamp>"
>
&2
echo
"错误: 需要提供
三个参数 <env_name> <build_timestamp> <local_ip>"
>
&2
exit
1
fi
local
env_name
=
$1
local
build_timestamp
=
$2
local
local_ip
=
$3
handle
"
${
env_name
}
"
"
${
build_timestamp
}
"
handle
"
${
env_name
}
"
"
${
build_timestamp
}
"
"
${
local_ip
}
"
}
# 错误处理
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论