重要事项:本版文档涵盖 Yarn 1(经典版)。
有关 Yarn 2+ 文档和迁移指南,请参阅 yarnpkg.com。

发行流程

发布新发行版

步骤因所发布的版本类型(主要版本、次要版本或修补程序版本)而略有不同

要发布一个新修补程序版本(例如从 0.28.1 到 0.28.2)

  1. 将所有必需的更改整合到 -stable 分支(例如 0.28 的 0.28-stable)。
  2. 确保你在本地处于 -stable 分支。
  3. 运行 npm version patch 升级版本号,并创建 Git 提交和标记
  4. 运行 git push origin 0.xx-stable --follow-tags(使用合适的分支名称替换 0.xx-stable)

要发布一个新的次要版本或主要版本(例如,从 0.28.x 到 0.29.0)

  1. 确保当前主干分支在 CircleTravisAppVeyor 上都是绿色
  2. 确保你处于 master 且 Yarn 的本地副本是最新的
  3. 运行 ./scripts/release-branch.sh。这将
    • 创建 0.xx-stable 分支和 0.xx.0 标记
    • master 升级到下一个次要版本(例如,在发布 0.29.0 之后,主干将升级到 0.30.0
    • 将所有内容推送到 origin

标记 RC 发行版为稳定版本

在社区对 RC 进行了测试一段时间,并已解决所有主要错误后,即可将它标记为稳定版本。要执行此操作,请访问https://release.yarnpkg.com/,然后单击“将 RC 升级为稳定”按钮。

注意:一个白名单用于拥有访问该页面的权利。如果维护者不在白名单中,则你可以 在此进行修改

调试发行版本

有时事情会出错。以下是如何对一些常见问题进行调试

我已经提交了标记,但是站点仍然指向旧版本

查看 GitHub 发行版本是否存在丢失的文件。发行脚本不会在 Linux Windows 文件已附加到发行版本之前升级站点的版本号。

Linux 文件(.tar.gz.deb 等)丢失

检查 CircleCI 构建并在其失败时重新运行它。如果构建成功,检查 webhook 日志中是否有任何错误。

Windows 制品 (.msi) 丢失

检查 AppVeyor 构建并在其失败时重新运行它。如果构建成功,检查 webhook 日志中是否有任何错误。

所有制品均已附加到发布,但网站仍指向旧版本

检查 yarn-version Jenkins 构建作业并查看它是否已失败。


如何手动执行

大多数发布已实现自动化且相当简单。通常情况下,您只需在阅读此处内容时停止即可。但是,如果发布工具包出现故障(或者如果您乐于困难行事),则可以手动执行发布步骤。

创建新发布

  1. 运行 yarn build-dist && yarn build-deb 以构建发布 tarball、Debian 包和 RPM 包
  2. 在 Windows 上运行 yarn build-dist && yarn build-win-installer 以构建 Windows 安装程序
  3. GPG 签名 .tar.gz.js 制品
    gpg -u 9D41F3C3 --armor --detach-sign yarn-0.xx.xx.tar.gz
    

    这将生成 .asc 文件,您也应将其附加到发布中

  4. Authenticode 签名 .msi 制品
    osslsigncode sign -t http://timestamp.digicert.com -n "Yarn Installer" -i https://yarn.npmjs.net.cn/ -pkcs12 yarn-20161122.pfx -readpass yarn-20161122.key -h sha1 -in yarn-0.xx.xx-unsigned.msi -out yarn-0.xx.xx.msi
    osslsigncode sign -t http://timestamp.digicert.com -n "Yarn Installer" -i https://yarn.npmjs.net.cn/ -pkcs12 yarn-20161122.pfx -readpass yarn-20161122.key -nest -h sha2 -in yarn-0.xx.xx.msi -out yarn-0.xx.xx.msi
    
  5. 在 GitHub 上创建新发布,并附加所有制品。对于 MSI,确保您附加了已签名版本!
  6. 将 tarball 发布到 npm: npm publish ./artifacts/yarn-v0.xx.xx.tar.gz
  7. 执行以下发布后步骤

将候选版本升至稳定版

  1. 修改 GitHub 发布以将其标注为稳定版本
  2. 运行 npm dist-tag add [email protected] latest(其中 0.xx.xx 是要发布的版本号)
  3. 运行以下发布后步骤

发布后

  1. 网站上的 _config.yml 中升级版本号
  2. 运行 ./scripts/build-chocolatey.ps1 以推送到 Chocolatey
  3. 运行 ./scripts/update-homebrew.sh 以推送到 Homebrew
  4. Debian 和 CentOS 库应在 5 分钟内自动更新为最新版本(留意 提交