diff --git a/scripts/update-and-restart.sh b/scripts/update-and-restart.sh index a354863..641f102 100755 --- a/scripts/update-and-restart.sh +++ b/scripts/update-and-restart.sh @@ -34,25 +34,27 @@ if ! git diff --quiet || ! git diff --cached --quiet; then fi log '备份 MySQL 数据库' -set -a -# shellcheck disable=SC1090 -source "$CMS_ENV_FILE" -set +a -: "${DB_HOST:?DB_HOST 未配置}" -: "${DB_PORT:?DB_PORT 未配置}" -: "${DB_USER:?DB_USER 未配置}" -: "${DB_PASSWORD:?DB_PASSWORD 未配置}" -: "${DB_NAME:?DB_NAME 未配置}" install -d -m 700 "$BACKUP_DIR" umask 077 -BACKUP_FILE="$BACKUP_DIR/${DB_NAME}_$(date '+%Y%m%d_%H%M%S').sql.gz" -MYSQL_PWD="$DB_PASSWORD" mysqldump \ - --single-transaction \ - --quick \ - --host="$DB_HOST" \ - --port="$DB_PORT" \ - --user="$DB_USER" \ - "$DB_NAME" | gzip -c > "$BACKUP_FILE" +BACKUP_FILE="$BACKUP_DIR/ameiba_cms_$(date '+%Y%m%d_%H%M%S').sql.gz" +( + set -a + # shellcheck disable=SC1090 + source "$CMS_ENV_FILE" + set +a + : "${DB_HOST:?DB_HOST 未配置}" + : "${DB_PORT:?DB_PORT 未配置}" + : "${DB_USER:?DB_USER 未配置}" + : "${DB_PASSWORD:?DB_PASSWORD 未配置}" + : "${DB_NAME:?DB_NAME 未配置}" + MYSQL_PWD="$DB_PASSWORD" mysqldump \ + --single-transaction \ + --quick \ + --host="$DB_HOST" \ + --port="$DB_PORT" \ + --user="$DB_USER" \ + "$DB_NAME" | gzip -c > "$BACKUP_FILE" +) [[ -s "$BACKUP_FILE" ]] || fail '数据库备份文件为空' log "数据库已备份:$BACKUP_FILE" @@ -62,7 +64,7 @@ git fetch origin "$BRANCH" git pull --ff-only origin "$BRANCH" log '安装前台依赖并构建' -npm ci +npm ci --include=dev npm run build log '安装 CMS 后端生产依赖' @@ -74,7 +76,7 @@ log '安装 CMS 后端生产依赖' log '构建 CMS 管理后台' ( cd "$PROJECT_DIR/cms/admin" - npm ci + npm ci --include=dev npm run build )