快照发布

快照发布

快照发布是一种在不更新版本的情况下为您的更改发布以进行测试的方法。为了实现快照发布,使用了修改后的 version 和修改后的 publish 命令。在两个过程都运行后,您将在 changesets 中拥有一个版本为 0.0.0-{tag}-DATETIMESTAMP 的已发布版本的包。

开始

按照添加 changeset中描述的方式创建 changeset。当您准备发布快照时,应创建一个专用的分支进行操作。

为您的包版本化

yarn changeset version --snapshot

这将应用 changesets,但是与使用下一个版本不同,所有版本都将设置为 0.0.0-THE_TIME_YOU_DID_THIS

如果您想要为此版本号添加个性化部分,例如 bulbasaur,您可以运行

yarn changeset version --snapshot bulbasaur

这将将版本更新为 0.0.0-bulbasaur-THE_TIME_YOU_DID_THIS

发布您的包

在运行 yarn changeset version 命令后,可以使用 changeset publish --tag bulbasaur 命令发布包。通过使用 --tag 标志,您将不会将其添加到 npm 上的 latest 标志中。这非常重要,因为如果不包含标签,通过 yarn add your-package-name 安装包的人将安装快照版本。

使用 --no-git-tag 标志

如果计划在本地发布快照版本或者在 CI 环境中从 git tags (opens in a new tab) 推送到远程,则可以在运行 changeset publish 时使用 --no-git-tag 命令行标志。

当运行 changeset publish --no-git-tag --snapshot 时,changesets 将跳过为已发布的快照包创建 git 标签。这意味着可以在推送稳定版本时(使用常规的 changeset publish),仍然可以创建 git 标签,并且可以安全地在本地发布快照版本,而不会创建不必要的标签。

使用快照版本

当您希望其他人测试您的快照时,他们可以将其 package.json 更新到您新发布的版本并运行安装,或者使用 yarn add your-package-name@YOUR_TAG_OR_VERSIONS

对于上述示例,您可以运行

yarn add your-package-name@0.0.0-bulbasaur-THE_TIME_YOU_DID_THIS

或者使用标签:

yarn add your-package-name@bulbasaur

关于快照分支的处理

在几乎所有情况下,我们建议在运行 version 后将更改合并回主分支。但是在快照情况下,情况并非如此。我们建议不要将此次 version 更改推送到任何分支。这是因为快照仅用于安装,而不是表示仓库的正确发布状态。保存生成的版本和使用的标签,但不要将其推送到计划合并到主分支的任何分支,也不要将其合并到主分支。