no message

This commit is contained in:
kuaifan 2025-05-25 00:21:52 +08:00
parent db526dfcc8
commit 0e1d5e802c

88
cmd
View File

@ -94,9 +94,9 @@ rand_string() {
# 重启php # 重启php
restart_php() { restart_php() {
local RES=`run_exec php "supervisorctl update php"` local RES=`container_exec php "supervisorctl update php"`
if [ -z "$RES" ]; then if [ -z "$RES" ]; then
RES=`run_exec php "supervisorctl restart php"` RES=`container_exec php "supervisorctl restart php"`
fi fi
local IN=`echo $RES | grep "ERROR"` local IN=`echo $RES | grep "ERROR"`
if [[ "$IN" != "" ]]; then if [[ "$IN" != "" ]]; then
@ -135,7 +135,7 @@ check_docker() {
fi fi
COMPOSE="docker compose" COMPOSE="docker compose"
fi fi
if [[ -n `$COMPOSE version | grep -E "\sv1"` ]]; then if [[ -n `$COMPOSE version | grep -E "\s+v1\."` ]]; then
$COMPOSE version $COMPOSE version
error "Docker-compose 版本过低请升级至v2+" error "Docker-compose 版本过低请升级至v2+"
exit 1 exit 1
@ -167,7 +167,7 @@ docker_name() {
} }
# 编译前端 # 编译前端
run_compile() { web_build() {
local type=$1 local type=$1
check_node check_node
if [ ! -d "./node_modules" ]; then if [ ! -d "./node_modules" ]; then
@ -188,7 +188,7 @@ run_compile() {
} }
# 运行electron # 运行electron
run_electron() { electron_operate() {
local argv=$@ local argv=$@
check_node check_node
if [ ! -d "./node_modules" ]; then if [ ! -d "./node_modules" ]; then
@ -216,7 +216,7 @@ run_electron() {
} }
# 执行容器命令 # 执行容器命令
run_exec() { container_exec() {
local container=$1 local container=$1
shift 1 shift 1
local cmd=$@ local cmd=$@
@ -229,7 +229,7 @@ run_exec() {
} }
# 备份数据库、还原数据库 # 备份数据库、还原数据库
run_mysql() { mysql_snapshot() {
if [ "$1" = "backup" ]; then if [ "$1" = "backup" ]; then
database=$(env_get DB_DATABASE) database=$(env_get DB_DATABASE)
username=$(env_get DB_USERNAME) username=$(env_get DB_USERNAME)
@ -237,7 +237,7 @@ run_mysql() {
# 备份数据库 # 备份数据库
mkdir -p ${WORK_DIR}/docker/mysql/backup mkdir -p ${WORK_DIR}/docker/mysql/backup
filename="${WORK_DIR}/docker/mysql/backup/${database}_$(date "+%Y%m%d%H%M%S").sql.gz" filename="${WORK_DIR}/docker/mysql/backup/${database}_$(date "+%Y%m%d%H%M%S").sql.gz"
run_exec mariadb "exec mysqldump --databases $database -u${username} -p${password}" | gzip > $filename container_exec mariadb "exec mysqldump --databases $database -u${username} -p${password}" | gzip > $filename
judge "备份数据库" judge "备份数据库"
[ -f "$filename" ] && echo "备份文件:${filename}" [ -f "$filename" ] && echo "备份文件:${filename}"
elif [ "$1" = "recovery" ]; then elif [ "$1" = "recovery" ]; then
@ -264,8 +264,8 @@ run_mysql() {
exit 1 exit 1
fi fi
docker cp $filename ${container_name}:/ docker cp $filename ${container_name}:/
run_exec mariadb "gunzip < /${inputname} | mysql -u${username} -p${password} $database" container_exec mariadb "gunzip < /${inputname} | mysql -u${username} -p${password} $database"
run_exec php "php artisan migrate" container_exec php "php artisan migrate"
judge "还原数据库" judge "还原数据库"
fi fi
} }
@ -319,7 +319,7 @@ https_auto() {
fi fi
docker run -it --rm -v $(pwd):/work nginx:alpine sh /work/bin/https install docker run -it --rm -v $(pwd):/work nginx:alpine sh /work/bin/https install
if [[ 0 -eq $? ]]; then if [[ 0 -eq $? ]]; then
run_exec nginx "nginx -s reload" container_exec nginx "nginx -s reload"
fi fi
new_job="* 6 * * * docker run -it --rm -v $(pwd):/work nginx:alpine sh /work/bin/https renew" new_job="* 6 * * * docker run -it --rm -v $(pwd):/work nginx:alpine sh /work/bin/https renew"
current_crontab=$(crontab -l 2>/dev/null) current_crontab=$(crontab -l 2>/dev/null)
@ -453,7 +453,7 @@ EOF
} }
# 安装函数 # 安装函数
run_install() { handle_install() {
local relock=$(arg_get relock) local relock=$(arg_get relock)
local port=$(arg_get port) local port=$(arg_get port)
@ -515,7 +515,7 @@ run_install() {
$COMPOSE up php -d $COMPOSE up php -d
# 安装PHP依赖 # 安装PHP依赖
exec_judge "run_exec php 'composer install --optimize-autoloader'" "安装依赖失败" exec_judge "container_exec php 'composer install --optimize-autoloader'" "安装依赖失败"
# 最终检查 # 最终检查
if [ ! -f "${WORK_DIR}/vendor/autoload.php" ]; then if [ ! -f "${WORK_DIR}/vendor/autoload.php" ]; then
@ -524,24 +524,24 @@ run_install() {
fi fi
# 生成应用密钥 # 生成应用密钥
[[ -z "$(env_get APP_KEY)" ]] && exec_judge "run_exec php 'php artisan key:generate'" "生成密钥失败" [[ -z "$(env_get APP_KEY)" ]] && exec_judge "container_exec php 'php artisan key:generate'" "生成密钥失败"
# 设置生产模式 # 设置生产模式
switch_debug "false" switch_debug "false"
# 数据库迁移 # 数据库迁移
exec_judge "run_exec php 'php artisan migrate --seed'" "数据库迁移失败" exec_judge "container_exec php 'php artisan migrate --seed'" "数据库迁移失败"
# 启动所有容器 # 启动所有容器
$COMPOSE up -d --remove-orphans $COMPOSE up -d --remove-orphans
success "安装完成" success "安装完成"
echo -e "地址: http://${GreenBG}127.0.0.1:$(env_get APP_PORT)${Font}" echo -e "地址: http://${GreenBG}127.0.0.1:$(env_get APP_PORT)${Font}"
run_exec mariadb "sh /etc/mysql/repassword.sh" container_exec mariadb "sh /etc/mysql/repassword.sh"
} }
# 更新函数 # 更新函数
run_update() { handle_update() {
local target_branch=$(arg_get branch) local target_branch=$(arg_get branch)
local is_local=$(arg_get local) local is_local=$(arg_get local)
local force_update=$(arg_get force) local force_update=$(arg_get force)
@ -601,7 +601,7 @@ run_update() {
db_changes=$(git diff --name-only HEAD..origin/${current_branch} 2>/dev/null | grep -E "^database/" || true) db_changes=$(git diff --name-only HEAD..origin/${current_branch} 2>/dev/null | grep -E "^database/" || true)
if [[ -n "$db_changes" ]]; then if [[ -n "$db_changes" ]]; then
echo "数据库有迁移变动,执行数据库备份..." echo "数据库有迁移变动,执行数据库备份..."
exec_judge "run_mysql backup" "数据库备份失败" "数据库备份完成" exec_judge "mysql_snapshot backup" "数据库备份失败" "数据库备份完成"
fi fi
# 更新代码 # 更新代码
@ -612,15 +612,15 @@ run_update() {
fi fi
# 更新依赖 # 更新依赖
exec_judge "run_exec php 'composer update --optimize-autoloader'" "更新PHP依赖失败" exec_judge "container_exec php 'composer update --optimize-autoloader'" "更新PHP依赖失败"
else else
# 本地更新模式 # 本地更新模式
echo "执行数据库备份..." echo "执行数据库备份..."
exec_judge "run_mysql backup" "数据库备份失败" "数据库备份完成" exec_judge "mysql_snapshot backup" "数据库备份失败" "数据库备份完成"
fi fi
# 数据库迁移 # 数据库迁移
exec_judge "run_exec php 'php artisan migrate'" "数据库迁移失败" exec_judge "container_exec php 'php artisan migrate'" "数据库迁移失败"
# 停止服务 # 停止服务
$COMPOSE stop php nginx &> /dev/null $COMPOSE stop php nginx &> /dev/null
@ -637,7 +637,7 @@ run_update() {
} }
# 卸载函数 # 卸载函数
run_uninstall() { handle_uninstall() {
# 确认卸载 # 确认卸载
echo -e "${RedBG}警告:此操作将永久删除以下内容:${Font}" echo -e "${RedBG}警告:此操作将永久删除以下内容:${Font}"
echo "- 数据库" echo "- 数据库"
@ -695,15 +695,15 @@ fi
case "$1" in case "$1" in
"install") "install")
shift 1 shift 1
run_install handle_install
;; ;;
"update") "update")
shift 1 shift 1
run_update handle_update
;; ;;
"uninstall") "uninstall")
shift 1 shift 1
run_uninstall handle_uninstall
;; ;;
"port") "port")
shift 1 shift 1
@ -728,23 +728,23 @@ case "$1" in
;; ;;
"repassword") "repassword")
shift 1 shift 1
run_exec mariadb "sh /etc/mysql/repassword.sh $@" container_exec mariadb "sh /etc/mysql/repassword.sh $@"
;; ;;
"serve"|"dev") "serve"|"dev")
shift 1 shift 1
run_compile dev web_build dev
;; ;;
"build"|"prod") "build"|"prod")
shift 1 shift 1
run_compile prod web_build prod
;; ;;
"appbuild"|"buildapp") "appbuild"|"buildapp")
shift 1 shift 1
run_electron app "$@" electron_operate app "$@"
;; ;;
"electron") "electron")
shift 1 shift 1
run_electron "$@" electron_operate "$@"
;; ;;
"eeui") "eeui")
shift 1 shift 1
@ -767,7 +767,7 @@ case "$1" in
;; ;;
"doc") "doc")
shift 1 shift 1
run_exec php "php app/Http/Controllers/Api/apidoc.php" container_exec php "php app/Http/Controllers/Api/apidoc.php"
docker run -it --rm -v ${WORK_DIR}:/home/node/apidoc kuaifan/apidoc -i app/Http/Controllers/Api -o public/docs docker run -it --rm -v ${WORK_DIR}:/home/node/apidoc kuaifan/apidoc -i app/Http/Controllers/Api -o public/docs
;; ;;
"debug") "debug")
@ -788,54 +788,54 @@ case "$1" in
;; ;;
"artisan") "artisan")
shift 1 shift 1
e="php artisan $@" && run_exec php "$e" e="php artisan $@" && container_exec php "$e"
;; ;;
"php") "php")
shift 1 shift 1
if [[ "$1" == "restart" ]] || [[ "$1" == "reboot" ]]; then if [[ "$1" == "restart" ]] || [[ "$1" == "reboot" ]]; then
restart_php restart_php
else else
e="php $@" && run_exec php "$e" e="php $@" && container_exec php "$e"
fi fi
;; ;;
"nginx") "nginx")
shift 1 shift 1
e="nginx $@" && run_exec nginx "$e" e="nginx $@" && container_exec nginx "$e"
;; ;;
"redis") "redis")
shift 1 shift 1
e="redis $@" && run_exec redis "$e" e="redis $@" && container_exec redis "$e"
;; ;;
"mysql") "mysql")
shift 1 shift 1
if [[ "$1" == "backup" ]] || [[ "$1" == "b" ]]; then if [[ "$1" == "backup" ]] || [[ "$1" == "b" ]]; then
run_mysql backup mysql_snapshot backup
elif [[ "$1" == "recovery" ]] || [[ "$1" == "r" ]]; then elif [[ "$1" == "recovery" ]] || [[ "$1" == "r" ]]; then
run_mysql recovery mysql_snapshot recovery
else else
e="mysql $@" && run_exec mariadb "$e" e="mysql $@" && container_exec mariadb "$e"
fi fi
;; ;;
"composer") "composer")
shift 1 shift 1
e="composer $@" && run_exec php "$e" e="composer $@" && container_exec php "$e"
;; ;;
"service") "service")
shift 1 shift 1
e="service $@" && run_exec php "$e" e="service $@" && container_exec php "$e"
;; ;;
"super"|"supervisorctl") "super"|"supervisorctl")
shift 1 shift 1
e="supervisorctl $@" && run_exec php "$e" e="supervisorctl $@" && container_exec php "$e"
;; ;;
"models") "models")
shift 1 shift 1
run_exec php "php app/Models/clearHelper.php" container_exec php "php app/Models/clearHelper.php"
run_exec php "php artisan ide-helper:models -W" container_exec php "php artisan ide-helper:models -W"
;; ;;
"translate") "translate")
shift 1 shift 1
run_exec php "cd /var/www/language && php translate.php" container_exec php "cd /var/www/language && php translate.php"
;; ;;
"restart") "restart")
shift 1 shift 1