2 Star 3 Fork 0

开源中国 / gitee_pack

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

GiteePack

一个 GiteePremium 增量打包工具

安装

$ gem install gitee_pack

使用

打包

在 gitee-premium 目录执行:

$ gitee_pack BASE HEAD

BASE: Commit提交的SHA值作为对比起点

HEAD: Commit提交的SHA值作为对比终点

示例:

$ gitee_pack a9b6296 6ac0f97

执行后会在当前目录下生成一个增量文件的升级包,例如 upgrade-20200430

升级包目录结构说明:

upgrade-20200430
├── commit.txt         // 记录 base、head 的 CommitID
├── diff.txt           // 记录 base 和 head 之间的所有改动文件名称
├── delete.txt         // 记录 base 和 head 之间被删除的文件名称
├── run.log            // 打包时的运行日志
├── files              // 用于存放代码文件的目录
└── update.sh          // 部署脚本,更新代码时使用

更多选项

$ gitee_pack --help
Usage: gitee_pack BASE HEAD [options]

Specific options:
        --skip-compile-asset         Skip compile asset.
        --skip-compile-webpack       Skip compile webpack.
        --skip-package-gem           Skip package gem.
    -h, --help                       Show this message.
    -v, --version                    Show version info.

--skip-compile-asset 当有 asset 文件改动时,跳过 asset 资源文件编译

--skip-compile-webpack 当有 vue 文件改动时,跳过 npm 资源文件编译

--skip-package-gem 当有 gem 改动时,跳过 gem 打包

错误值

执行 gitee_pack 命令,错误值解释如下

  • 100 vue 资源文件编译失败
  • 101 asset 资源文件编译失败
  • 102 gem 打包失败
  • 200 升级包不完整

部署

在升级包中执行 update.sh 脚本,一键自动部署

$ cd upgrade-20200430
$ ./update.sh GITEE_PATH

GITEE_PATH: gitee-premium 的绝对路径

示例

$ ./update.sh /home/git/gitee-premium/gitee

版本变更

v1.5.0

  • feat: 支持打包完成后,检测包的完整性
  • feat: 支持跳过编译流程打包
  • feat: 支持新增、修改、删除 Gem 时自动打包
  • feat: 支持记录打包日志到升级包中
  • fix: 修复打包过程中失败,以非 0 值推出程序

v1.4.0

  • feat: 支持部署备份代码时过滤 tmp 目录(感谢@彭超越大佬)

v1.3.0

  • feat: 支持检测 asset 文件改动并自动编译及打包

v1.2.0

  • feat: 支持部署时代码备份功能
  • feat: 打包时记录 Commit 信息
  • fix: 修复部署脚本 Bug

v1.1.0

  • feat: 支持通过脚本自动化部署改动文件

v1.0.0

  • feat: 支持代码文件打包
  • feat: 支持检测 webpack 文件改动并自动编译及打包

常见问题

  1. 执行 git statusgit diff 等命令,中文名文件显示为乱码,导致中文名文件无法打包成功。
$ git config --global core.quotepath false
The MIT License (MIT) Copyright (c) 2020 jk-sun Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

暂无描述 展开 收起
Ruby 等 2 种语言
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Ruby
1
https://gitee.com/oschina/gitee_pack.git
git@gitee.com:oschina/gitee_pack.git
oschina
gitee_pack
gitee_pack
master

搜索帮助