65 lines
No EOL
3 KiB
Markdown
65 lines
No EOL
3 KiB
Markdown
# 发布 Javascript 包
|
||
|
||
当一个包包含足够多的更改,需要发布到 [NPM](https://www.npmjs.com/) 时,请按照以下说明从 monorepo 创建一个新的发布。
|
||
|
||
下面是使用 Github Workflows(推荐)和命令行进行发布的说明。首次发布包时,请使用命令行发布。
|
||
|
||
## 使用 Github Workflows 发布包(推荐)
|
||
|
||
### 准备包
|
||
|
||
为了准备发布包,需要编译更新日志并进行适当的版本号提升。
|
||
|
||
1. 访问 monorepo 操作中的 [准备包发布工作流](https://github.com/woocommerce/woocommerce/actions/workflows/prepare-package-release.yml)。点击 "运行工作流" 按钮。
|
||
|
||

|
||
|
||
2. 选择您希望从中发布的分支。通常,这会是 `trunk`。您还可以通过在输入框中提供以逗号分隔的值来选择要准备发布的包。要遍历所有包,只需保留 `-a` 标志。没有更改的包将被跳过并保持原样。
|
||
|
||

|
||
|
||
3. 操作完成后,请检查 [开放的拉取请求](https://github.com/woocommerce/woocommerce/pulls) 中是否有由 Github Actions Bot 生成的拉取请求。此拉取请求应包含适用包的版本号提升和更新日志更改。检查通过后,批准并合并该拉取请求。
|
||
|
||
### 发布软件包
|
||
|
||
1. 通过启动另一个工作流将软件包发布到 NPM。[软件包发布工作流](https://github.com/woocommerce/woocommerce/actions/workflows/package-release.yml)具有与准备阶段工作流相同的输入项。请确保从同一分支发布,并选择相同的软件包进行发布。
|
||
|
||

|
||
|
||
2. 通过访问 NPM 确认软件包已更新。例如,请查看 https://www.npmjs.com/package/@woocommerce/components。注意:发布后可能需要几分钟才能在 NPM 上反映更新。
|
||
|
||
## 使用命令行发布软件包
|
||
|
||
### 准备软件包
|
||
|
||
1. 在 monorepo 根目录下,运行以下命令以准备所有软件包。您可以使用逗号分隔的软件包列表来替代 `-a` 标志。
|
||
|
||
```
|
||
./tools/package-release/bin/dev prepare -a
|
||
```
|
||
|
||
当为新增软件包进行首次发布时,请传递 `--initial-release` 标志以表示这是新增软件包的首次发布。
|
||
|
||
2. 创建包含这些更改的拉取请求并将其合并。
|
||
|
||
使用 `./tools/package-release/bin/dev publish --help` 查看更多关于准备脚本的信息。
|
||
|
||
### 发布包
|
||
|
||
1. 从 Github 拉取最新的提交。
|
||
|
||
2. 从 monorepo 根目录运行发布脚本,首先进行试运行。
|
||
|
||
当为新的包进行首次发布时,传递 `--initial-release` 标志以表示新包的新发布。
|
||
|
||
```
|
||
./tools/package-release/bin/dev publish -a --dry-run
|
||
```
|
||
|
||
3. 这次实际运行发布。
|
||
|
||
```
|
||
./tools/package-release/bin/dev publish -a
|
||
```
|
||
|
||
使用 `./tools/package-release/bin/dev publish --help` 查看更多关于发布脚本的信息。 |