当前位置: 首页 > wzjs >正文

下载网站源代码app营销

下载网站源代码,app营销,值得信赖网页制作平台,博罗网站建设前言:运维工作免不了脚本或者部署包的输出,当需求变更需要更新文件后就需要输出新的文件包,提供出去的时候版本的定义就显得非常重要(就曾因为这个给自己挖过坑😅),避免因为老旧脚本或者部署包混…

前言:运维工作免不了脚本或者部署包的输出,当需求变更需要更新文件后就需要输出新的文件包,提供出去的时候版本的定义就显得非常重要(就曾因为这个给自己挖过坑😅),避免因为老旧脚本或者部署包混用导致非必要的问题排查。为此自己写了一个专门打包的脚本,基本涉及到打包的场景都能通用。

先看执行效果:

只要输入较上个版本的更新类型,以及更新说明信息即可自动打包;

[root@localhost] ./tar_pack.sh
[2025-03-22 11:51:03] [INFO] 当前版本: 3.3.7
选择更新类型:
1. 增加文件、项目为大版本
2. 更新、替换其它单文件或者 SQL 文件为次版本
3. 修改现有配置为小版本
0. 特殊情况不增加版本号
请输入 0、1、2 或者 3: 1
[2025-03-22 11:51:05] [INFO] 选择的更新类型: 3
[2025-03-22 11:51:05] [INFO] 更新版本: 3.3.8
请输入更新说明: 1、测试更新后打包;2、打包测试。
[2025-03-22 11:51:11] [INFO] 更新说明已写入 ./versioninfo.txt
即将创建版本为 3.3.8 的压缩包:
压缩的文件夹为:./Aproject
压缩包将保存在:./Aproject_version_tar_package
确认要继续吗?(yes/no): yes
[2025-03-22 11:32:46] 创建压缩包: Aproject_amd64_V3.3.8.tar.gz 完成!
[2025-03-22 11:32:46] 更新版本文件为: 3.3.8
[2025-03-22 11:32:46] 所有操作完成!

 直接上脚本tar_pack.sh(定义好自己的文件及路径后,可直接使用)

#!/bin/bash
# DeanLVERSION_FILE="./version.txt"  # 记录版本号信息
BACKUP_DIR="./Aproject_version_tar_package"  # 打包文件存放路径,以及历史版本
LOG_FILE="./pack_log.log"  # 打包日志
PROJECT_DIR="./Aproject"  # 需要压缩的文件夹名称
VERSION_INFO_FILE="./versioninfo.txt"  # 存储版本更新说明信息log() {local level="$1"shiftecho "[$(date +'%Y-%m-%d %H:%M:%S')] [$level] $*" | tee -a "$LOG_FILE"
}# 读取当前版本
get_current_version() {if [ -f "$VERSION_FILE" ]; thenCURRENT_VERSION=$(cat "$VERSION_FILE")log "INFO" "当前版本: $CURRENT_VERSION"elselog "INFO" "版本文件不存在,默认版本 1.0.0"CURRENT_VERSION="1.0.0"fi
}# 计算新版本
increment_version() {local version=$1local new_versionIFS='.' read -r major minor patch <<< "$version"case "$2" in1) # 第一位:增加文件、项目为大版本major=$((major + 1))minor=0patch=0;;2) # 第二位:更新、替换其它单文件或者 SQL 文件为次版本minor=$((minor + 1))patch=0;;3) # 第三位:修改现有配置为小版本patch=$((patch + 1));;0) # 特殊情况不增加版本号new_version="$version"echo "$new_version"return;;*) log "ERROR" "无效的版本更新类型"exit 1;;esacnew_version="$major.$minor.$patch"echo "$new_version"
}# 确认操作
confirm_action() {echo "选择更新类型:"echo "1. 增加文件、项目为大版本"echo "2. 更新、替换其它单文件或者 SQL 文件为次版本"echo "3. 修改现有配置为小版本"echo "0. 特殊情况不增加版本号"read -p "请输入 0、1、2 或者 3: " choiceif [[ "$choice" -ge 0 && "$choice" -le 3 ]]; thenlog "INFO" "选择的更新类型: $choice"NEW_VERSION=$(increment_version "$CURRENT_VERSION" "$choice")log "INFO" "更新版本: $NEW_VERSION"elselog "ERROR" "无效选择,请输入 0、1、2 或 3。"exit 1fi
}# 输入更新说明
get_update_description() {read -p "请输入更新说明: " update_descecho "版本 $NEW_VERSION 更新说明: $update_desc" >> "$VERSION_INFO_FILE"log "INFO" "更新说明已写入 $VERSION_INFO_FILE"
}# 输出压缩提示
prompt_compression() {echo "即将创建版本为 $NEW_VERSION 的压缩包:"echo "压缩的文件夹为:$PROJECT_DIR"echo "压缩包将保存在:$BACKUP_DIR"read -p "确认要继续吗?(yes/no): " confirmationif [[ "$confirmation" != "yes" ]]; thenlog "INFO" "操作已取消。"exit 1fi
}# 压缩打包文件
create_backup() {BACKUP_NAME="Aproject_amd64_V$NEW_VERSION.tar.gz"  # 定义自己打包名字的固定部分# 确保 BACKUP_DIR 存在mkdir -p "$BACKUP_DIR"# 确保 Aproject 目录有效if [ ! -d "$PROJECT_DIR" ] || [ -z "$(ls -A "$PROJECT_DIR")" ]; thenlog "ERROR" "目录 $PROJECT_DIR 不存在或为空,无法创建压缩包!"exit 1fitar -czf "$BACKUP_DIR/$BACKUP_NAME" "$PROJECT_DIR"if [ $? -ne 0 ]; thenlog "ERROR" "创建压缩包: $BACKUP_NAME 失败!"# 回滚更新说明[ -s "$VERSION_INFO_FILE" ] && sed -i "$ d" "$VERSION_INFO_FILE"log "INFO" "回滚更新说明"exit 1filog "INFO" "创建压缩包: $BACKUP_NAME 完成!"
}# 更新版本文件
update_version_file() {touch "$VERSION_FILE"echo "$NEW_VERSION" > "$VERSION_FILE"log "INFO" "更新版本文件为: $NEW_VERSION"
}# 种种情况,意料之外
trap 'log "ERROR" "脚本执行失败!"; exit 1' ERR# 执行
get_current_version
confirm_action
get_update_description  # 获取更新说明并写入 versioninfo.txt
prompt_compression  # 在压缩之前提示确认
create_backup
update_version_filelog "INFO" "打包完成!"

2025年3月22日 正在加班,共勉!

http://www.dtcms.com/wzjs/45108.html

相关文章:

  • 房产销售网站设计网站seo优化方案设计
  • 重庆智能网站建设价格网站统计系统
  • 水务 网站建设服务器ip域名解析
  • 现在pc网站的标准一般是做多大推广引流方法有哪些推广方法
  • a5外包网优化内容
  • 网站首页设计费用竞价推广渠道
  • 网站建设背景怎么写5118
  • 室内装修免费咨询湖南网站营销seo方案
  • 百度服务平台深圳做网站seo
  • 办公室现代简约装修东莞网站优化公司哪家好
  • 做的比较好的手机网站站长工具seo优化系统
  • 网站后台上传文章百度一下电脑版网页
  • 商业网站建设软件看网站搜什么关键词
  • 备案成功后怎么建网站域名查询网站入口
  • 建设网站的整个费用预算外贸网络营销
  • 企业网站建设排名广州抖音seo公司
  • 外贸网站哪个好在线检测网站安全
  • 常州微信网站建设十大经典事件营销案例
  • wordpress硬件接口武汉seo网络优化公司
  • 合肥网站建设=388元百度爱采购平台官网
  • 美女做美网站有哪些网站主题
  • 代做寄生虫网站全面的seo网站优化排名
  • 南通做网络网站网络营销的方法有哪些?
  • 网站图片上的分享怎么做下拉框关键词软件
  • 昆明做网站优化的公司打开网站搜索
  • 京东网站开发框架怎样进行网络营销吸引顾客
  • wordpress多站竞价点击软件工具
  • 网站建设内部下单流程什么是核心关键词
  • 找公司做网站需要注意什么搜索引擎优化的对比
  • 网站如何运营赚钱西安做网站