Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
E
event
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
陈世强
event
Commits
7969c943
提交
7969c943
authored
1月 20, 2025
作者:
李星宇
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
CICD
上级
f0fbddae
显示空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
224 行增加
和
1 行删除
+224
-1
.gitignore
.gitignore
+0
-1
Dockerfile
build/Dockerfile
+32
-0
build.sh
build/build.sh
+75
-0
env.prod
build/env/env.prod
+19
-0
env.test
build/env/env.test
+19
-0
run.sh
build/run.sh
+79
-0
没有找到文件。
.gitignore
浏览文件 @
7969c943
...
@@ -25,7 +25,6 @@ target/
...
@@ -25,7 +25,6 @@ target/
/dist/
/dist/
/nbdist/
/nbdist/
/.nb-gradle/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/main/**/build/
!**/src/test/**/build/
!**/src/test/**/build/
...
...
build/Dockerfile
0 → 100644
浏览文件 @
7969c943
FROM
swr.cn-southwest-2.myhuaweicloud.com/wd/maven:3.6.1-jdk-8-alpine AS builder
USER
root
WORKDIR
/workspace
COPY
. .
RUN
mvn clean install
-DskipTests
FROM
swr.cn-southwest-2.myhuaweicloud.com/wd/openjdk:8-jdk-alpine3.9
MAINTAINER
lixingyu
USER
root
WORKDIR
/workspace
COPY
--from=builder /workspace/target/classes/font/. /usr/lib/jvm/java-1.8-openjdk/jre/lib/
COPY
--from=builder /workspace/target/*.jar /workspace/app.jar
ARG
ENV_NAME
ARG
PORT
ENV
APP_OPTS1="-Dspring.profiles.active=${ENV_NAME}"
ENV
APP_OPTS2="-Djasypt.encryptor.password=1@wdLkj90#chMsdzxA%2024"
ENV
APP_OPTS3="-Dfile.encoding=utf-8"
ENV
APP_OPTS4="-Duser.timezone=Asia/Shanghai"
ENV
JVM_OPTS="-Xmx2024M -Xms256M"
EXPOSE
${PORT}
ENTRYPOINT
["sh","-c","java $APP_OPTS1 $APP_OPTS2 $APP_OPTS3 $APP_OPTS4 -jar $JVM_OPTS /workspace/app.jar"]
\ No newline at end of file
build/build.sh
0 → 100644
浏览文件 @
7969c943
#!/bin/bash
# build.sh - 功能包括:镜像构建,推送镜像,处理none镜像。
# author: lixingyu
# 使用方法:
# $ ./build.sh <env_name> <build_timestamp>
# 参数:
# env_name:环境变量 build_timestamp:构建时间戳
set
-eu
# 获取脚本的绝对路径(包括文件名)
script_path
=
$(
readlink
-f
"
$0
"
)
# 获取脚本所在的目录的绝对路径
script_dir
=
$(
dirname
"
$script_path
"
)
# 函数定义
function
print_usage
{
# 打印使用说明
sed
-n
'2,7p'
"
$0
"
}
function
handle
{
local
env_name
=
$1
local
build_timestamp
=
$2
echo
"执行的环境变量:
${
env_name
}
"
echo
"执行的构建时间戳:
${
build_timestamp
}
"
if
[
!
-f
"
$script_dir
/env/env.
${
env_name
}
"
]
;
then
echo
"错误: 文件 'env.
${
env_name
}
' 不存在."
>
&2
exit
1
fi
.
$script_dir
/env/env.
${
env_name
}
local
username
=
"
${
repo_username
}
"
local
passwd
=
"
${
repo_passwd
}
"
local
dir
=
"
${
root_dir
}
/
${
svc_name
}
/
${
svc_env
}
"
local
name
=
"
${
svc_name
}
-
${
svc_env
}
"
local
version
=
${
version
}
-
${
build_timestamp
}
echo
"构建名称:
${
name
}
"
echo
"构建端口:
${
svc_port
}
"
echo
"构建版本:
${
version
}
"
echo
"推送仓库:
${
domain
}
/
${
namespace
}
"
echo
"完整镜像:
${
domain
}
/
${
namespace
}
/
${
name
}
:
${
version
}
"
echo
"---构建镜像---"
docker build
--build-arg
ENV_NAME
=
${
svc_env
}
--build-arg
PORT
=
${
svc_port
}
-f
./build/Dockerfile
-t
${
domain
}
/
${
namespace
}
/
${
name
}
:
${
version
}
.
echo
"---推送镜像---"
docker login
-u
=
$username
-p
=
${
passwd
}
${
domain
}
docker push
${
domain
}
/
${
namespace
}
/
${
name
}
:
${
version
}
echo
"---清理none镜像---"
docker image prune
-af
}
# 主程序入口点
function
main
{
if
[
"$#"
-ne
2
]
;
then
print_usage
echo
"错误: 需要提供两个个参数 <env_name> <build_timestamp>"
>
&2
exit
1
fi
local
env_name
=
$1
local
build_timestamp
=
$2
handle
"
${
env_name
}
"
"
${
build_timestamp
}
"
}
# 错误处理
trap
'echo 发生了错误,脚本中断.'
ERR
# 调用主函数
main
"
$@
"
build/env/env.prod
0 → 100644
浏览文件 @
7969c943
# 镜像仓库
# 版本 T1.0.0: T为测试版,R为稳定版
version="T1.0.0" # 可自定义
# 镜像仓库地址
domain="swr.cn-southwest-2.myhuaweicloud.com"
# 镜像分组,按部门区分
namespace="wd"
# 服务配置
# 数据挂载根目录
root_dir="/data/zzsn"
# 需根据日志配置填写,比如:logback-spring.xml
svc_logs="/workspace/logs"
# 环境变量 test or prod
svc_env="pro"
# 服务名
svc_name="event-analysis"
# 服务端口
svc_port="1688"
build/env/env.test
0 → 100644
浏览文件 @
7969c943
# 镜像仓库
# 版本 T1.0.0: T为测试版,R为稳定版
version
=
"T1.0.0"
# 可自定义
# 镜像仓库地址
domain
=
"swr.cn-southwest-2.myhuaweicloud.com"
# 镜像分组,按部门区分
namespace
=
"wd"
# 服务配置
# 数据挂载根目录
root_dir
=
"/data/zzsn"
# 需根据日志配置填写,比如:logback-spring.xml
svc_logs
=
"/workspace/logs"
# 环境变量 test or prod
svc_env
=
"pro"
# 服务名
svc_name
=
"event-analysis"
# 服务端口
svc_port
=
"1688"
build/run.sh
0 → 100644
浏览文件 @
7969c943
#!/bin/bash
# run.sh - 功能包括:运行容器,处理none镜像。
# author: lixingyu
# 使用方法:
# $ ./run.sh <env_name> <build_timestamp>
# 参数:
# env_name:环境变量 build_timestamp:构建时间戳
set
-eu
# 获取脚本的绝对路径(包括文件名)
script_path
=
$(
readlink
-f
"
$0
"
)
# 获取脚本所在的目录的绝对路径
script_dir
=
$(
dirname
"
$script_path
"
)
# 函数定义
function
print_usage
{
# 打印使用说明
sed
-n
'2,7p'
"
$0
"
}
function
handle
{
local
env_name
=
$1
local
build_timestamp
=
$2
echo
"执行的环境变量:
${
env_name
}
"
echo
"执行的构建时间戳:
${
build_timestamp
}
"
if
[
!
-f
"
$script_dir
/env/env.
${
env_name
}
"
]
;
then
echo
"错误: 文件 'env.
${
env_name
}
' 不存在."
>
&2
exit
1
fi
.
$script_dir
/env/env.
${
env_name
}
local
dir
=
"
${
root_dir
}
/
${
svc_name
}
/
${
svc_env
}
"
local
name
=
"
${
svc_name
}
-
${
svc_env
}
"
local
version
=
${
version
}
-
${
build_timestamp
}
echo
"---运行容器:
${
name
}
:
${
version
}
---"
docker pull
${
domain
}
/
${
namespace
}
/
${
name
}
:
${
version
}
if
[
"
$(
docker ps
-aqf
"name=^
${
name
}
"
)
"
]
;
then
# 如果存在,则停止并删除容器
echo
"停止并删除容器:
${
name
}
"
docker rm
-f
"
${
name
}
"
else
echo
"容器不存在直接运行:
${
name
}
"
fi
docker run
--restart
always
-d
-p
${
svc_port
}
:
${
svc_port
}
--name
${
name
}
\
-v
/etc/localtime:/etc/localtime:ro
\
-v
${
dir
}
/logs:
${
svc_logs
}
\
-v
/zzsn/data/win/Fonts:/zzsn/data/win/Fonts
\
-v
/zzsn/enterprise-service:/zzsn/enterprise-service
\
${
domain
}
/
${
namespace
}
/
${
name
}
:
${
version
}
echo
"---清理none镜像---"
docker image prune
-af
}
# 主程序入口点
function
main
{
if
[
"$#"
-ne
2
]
;
then
print_usage
echo
"错误: 需要提供两个个参数 <env_name> <build_timestamp>"
>
&2
exit
1
fi
local
env_name
=
$1
local
build_timestamp
=
$2
handle
"
${
env_name
}
"
"
${
build_timestamp
}
"
}
# 错误处理
trap
'echo 发生了错误,脚本中断.'
ERR
# 调用主函数
main
"
$@
"
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论