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

唐县住房和城乡建设局网站google chrome 网络浏览器

唐县住房和城乡建设局网站,google chrome 网络浏览器,西海岸新区城市建设局公示网站,wordpress页面文字首行缩进前言:运维工作免不了脚本或者部署包的输出,当需求变更需要更新文件后就需要输出新的文件包,提供出去的时候版本的定义就显得非常重要(就曾因为这个给自己挖过坑😅),避免因为老旧脚本或者部署包混…

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

先看执行效果:

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

[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/78412.html

相关文章:

  • 个人搭建网站教程社交媒体营销
  • 创意logo设计生成器北京seo优化技术
  • 无锡企业网站建设广州aso优化公司 有限公司
  • 网站开发需要学些什么?成都专门做网络推广的公司
  • 58同城网站建设网站搭建详细教程
  • 王爷请休了我大众点评seo关键词优化
  • 咨询公司网站建设厦门小鱼网
  • 建网站与发布网站免费sem工具
  • 张家界市住房和城乡建设局网站深圳排名seo
  • 政府门户网站特色建设调研报告东莞企业网站模板建站
  • 软件开发文档写作搜索引擎优化管理实验报告
  • 公司网站设计网络公司北京高端网站建设
  • 南岸网站关键词优化淘宝网站的推广与优化
  • 鞋子 东莞网站建设创意营销点子
  • 比较容易做的网站外贸推广引流
  • 做网站公司凡科友情链接系统
  • 小企业网站建设seo优化培训多少钱
  • wordpress 4.7解析seo在线培训课程
  • 静态网站更新文章麻烦企业员工培训总结
  • 高端大气的的网站网站搜索引擎拓客
  • 325建筑兼职网5000元网站seo推广
  • 现在帮别人做网站赚钱不百度云网页版入口
  • 做好史志网站建设百度官网认证免费
  • 网站页面太多怎么做网站地图泰州百度seo公司
  • 长沙 做网站网站推广的主要方式
  • 有了域名和云主机怎么做网站百度手机助手下载正版
  • 图片手机网站建设除了91还有什么关键词
  • 中国建设银行的网站用户名是什么意思竞价运营是做什么的
  • 谁专门做网站安全维护aso优化吧
  • 政协信息化网站建设的请示百度广告联盟价格