1 | # Release-Man
|
2 |
|
3 | [![Build Status](https://travis-ci.org/malcolmyu/release-man.svg?branch=master)](https://travis-ci.org/malcolmyu/release-man)
|
4 | [![npm](https://img.shields.io/npm/v/release-man.svg?maxAge=60)](https://www.npmjs.com/package/release-man)
|
5 |
|
6 | 一键 Npm 发布工具,包括在内部源上卸载旧版本、删除原有 tag,打新 tag,推送代码至 github,发布新版本,打 rc-tag 等。
|
7 |
|
8 | ## 安装
|
9 |
|
10 | ```bash
|
11 | $ npm install -g release-man
|
12 | ```
|
13 |
|
14 | ## 使用
|
15 |
|
16 | ### 发布
|
17 |
|
18 | 在要发布的工程目录下,命令行内输入 `release` 按照提示走就行了。
|
19 |
|
20 | ```bash
|
21 | $ release
|
22 | ? 请选择要发布的版本类型: ga: 正式版本
|
23 | ? 请选择升版方式: prerelease: 预升级(1.4.1-alpha.2)
|
24 | ? 是否同步代码到 github (小心安全组)? Yes
|
25 | ✔ 检测 npm 源
|
26 | ✔ 更新 package.json 到: 1.4.1-alpha.2
|
27 | ✔ 推送本地代码到 github
|
28 | ✔ 发布新版本 1.4.1-alpha.2 到 npm 源
|
29 | ? 请选择要同步的私有源: @cnpm(https://npm.taobao.org)
|
30 | ✔ 同步到内网源
|
31 | ✔ 版本 1.4.1-alpha.2 发布成功!
|
32 | ✔ 最后祝你, 提乾涉经, 再见!
|
33 | ```
|
34 |
|
35 | #### 版本类型
|
36 |
|
37 | 提供四种可选择的版本类型,规范发版
|
38 |
|
39 | - ga: 正式版本
|
40 | - rc: 发布候选版本, 不会新增 feature
|
41 | - beta: 公测版, 会持续增加 feature
|
42 | - alpha: 内测版, 拥有成吨的 bug
|
43 |
|
44 | #### 升版方式
|
45 |
|
46 | 选择正式版本 GA 之后会出现如下的升级方式:
|
47 |
|
48 | - major: 大版本升级(2.0.0)
|
49 | - minor: 中版本升级(1.5.0)
|
50 | - patch: 小版本升级(1.4.2)
|
51 |
|
52 | 选择 rc/beta/alpha 后会出现如下的升级方式:
|
53 |
|
54 | - prerelease: 预升级(1.4.2-rc.0)
|
55 | - premajor: 大版本预升级(2.0.0-rc.0)
|
56 | - preminor: 中版本预升级(1.5.0-rc.0)
|
57 | - prepatch: 小版本预升级(1.4.2-rc.0)
|
58 | - current: 当前版本(1.4.1)
|
59 |
|
60 | ## 配置
|
61 |
|
62 | 现在允许用户自行配置源,并额外提供三个命令进行源管理
|
63 |
|
64 | - `release add`: 增加一个源
|
65 | - `release remove`: 删除一个源
|
66 | - `release list`: 查看配置的所有源
|
67 |
|
68 | ## 参考
|
69 |
|
70 | - [npm-version](https://docs.npmjs.com/cli/version)
|
71 | - [npm-semver](https://www.npmjs.com/package/semver)
|
72 | - [软件发布生命周期](https://en.wikipedia.org/wiki/Software_release_life_cycle)
|