----添加部署脚本和文档

This commit is contained in:
2025-10-10 09:12:33 +08:00
parent 56d70fc256
commit b607315428
26 changed files with 3231 additions and 0 deletions

147
宝策/docker_xxl-job.sh Normal file
View File

@ -0,0 +1,147 @@
#!/bin/bash
# XXL-Job容器名称
CONTAINER_NAME="xxl-job-server"
# XXL-Job镜像版本
XXL_JOB_VERSION="2.4.0"
# 镜像地址
IMAGE_URL="docker.tanuki.vip/xxl-job-admin-kingbase:${XXL_JOB_VERSION}"
# 映射端口(宿主:容器)
PORT="9600"
# 环境变量配置
DB_URL="jdbc:kingbase8://10.10.2.102:54321/itc?currentSchema=xxl_job&useUnicode=true&characterEncoding=UTF-8"
DB_USERNAME="itc_dne"
DB_PASSWORD="itc_dne"
DB_DRIVER="com.kingbase8.Driver"
# 创建目录并设置权限函数(如需数据持久化可添加)
create_dirs() {
# 示例:如需挂载配置目录可在此添加
# if [ ! -d "$CONFIG_PATH" ]; then
# mkdir -p "$CONFIG_PATH"
# echo "创建配置目录: $CONFIG_PATH"
# chmod -R 777 "$CONFIG_PATH"
# echo "设置配置目录权限: $CONFIG_PATH"
# fi
return 0
}
# 部署XXL-Job
deploy() {
if [ "$(docker ps -q -f name=$CONTAINER_NAME)" ]; then
echo "XXL-Job容器 $CONTAINER_NAME 已存在并运行中"
return 1
fi
if [ "$(docker ps -aq -f name=$CONTAINER_NAME)" ]; then
echo "发现已停止的XXL-Job容器正在启动..."
docker start $CONTAINER_NAME
return 0
fi
echo "开始部署XXL-Job容器..."
create_dirs
docker run -d --restart always \
-p $PORT:8080 \
--name $CONTAINER_NAME \
-e "PARAMS=--spring.datasource.url=$DB_URL --spring.datasource.username=$DB_USERNAME --spring.datasource.password=$DB_PASSWORD --spring.datasource.driver-class-name=$DB_DRIVER" \
$IMAGE_URL
if [ $? -eq 0 ]; then
echo "XXL-Job容器部署成功"
echo "容器名称: $CONTAINER_NAME"
echo "端口映射: $PORT"
else
echo "XXL-Job容器部署失败"
fi
}
# 查看日志
logs() {
if [ ! "$(docker ps -aq -f name=$CONTAINER_NAME)" ]; then
echo "XXL-Job容器 $CONTAINER_NAME 不存在"
return 1
fi
echo "查看XXL-Job容器日志 (按Ctrl+C退出)..."
docker logs -f --tail 200 $CONTAINER_NAME
}
# 重启容器
restart() {
if [ ! "$(docker ps -aq -f name=$CONTAINER_NAME)" ]; then
echo "XXL-Job容器 $CONTAINER_NAME 不存在"
return 1
fi
echo "正在重启XXL-Job容器..."
docker restart $CONTAINER_NAME
if [ $? -eq 0 ]; then
echo "XXL-Job容器重启成功"
else
echo "XXL-Job容器重启失败"
fi
}
# 删除容器
remove() {
if [ ! "$(docker ps -aq -f name=$CONTAINER_NAME)" ]; then
echo "XXL-Job容器 $CONTAINER_NAME 不存在"
return 1
fi
echo "警告此操作将删除XXL-Job容器"
read -p "确定要删除吗?(y/n) " confirm
if [ "$confirm" != "y" ] && [ "$confirm" != "Y" ]; then
echo "取消删除操作"
return 0
fi
echo "正在停止并删除XXL-Job容器..."
docker stop $CONTAINER_NAME
docker rm $CONTAINER_NAME
if [ $? -eq 0 ]; then
echo "XXL-Job容器删除成功"
else
echo "XXL-Job容器删除失败"
fi
}
# 显示帮助
show_help() {
echo "XXL-Job容器管理脚本"
echo "用法: $0 [命令]"
echo "命令列表:"
echo " deploy - 部署并启动XXL-Job容器"
echo " logs - 查看XXL-Job容器日志"
echo " restart - 重启XXL-Job容器"
echo " remove - 删除XXL-Job容器"
echo " help - 显示帮助信息"
}
# 主逻辑
case "$1" in
deploy)
deploy
;;
logs)
logs
;;
restart)
restart
;;
remove)
remove
;;
help)
show_help
;;
*)
echo "未知命令: $1"
show_help
exit 1
;;
esac