Project Icon

shipjs

简化版本管理和发布流程的自动化工具

作为一个开源项目,Ship.js提供了自动化的版本管理和发布功能。它可以自动处理版本更新、变更日志生成和发布请求创建等步骤,简化了软件发布流程。通过支持异步发布和团队协作,Ship.js帮助开发团队减少错误、提高效率。

🛳 Ship.js

npm CircleCI NPM All Contributors Chat on Slack

掌控你的下一个版本发布。
https://community.algolia.com/shipjs/

特性

  • 自动化
    • 最大限度地减少发布工作量,减少错误。
  • 异步
    • 无需在本地机器上发布。异步完成发布,继续你的工作。
  • 协作
    • 不必独自承担压力。与同事一起在 pull request 上审核下一个发布版本。

安装

运行以下命令将引导你进行交互式设置。

npx shipjs setup

这个交互式命令行界面将帮助你在你的包中安装 Ship.js 并为你的项目创建一个量身定制的配置文件。

npx shipjs setup

为什么需要 Ship.js 🤷🏻‍

编码很有趣,调试和测试还可以,但发布却不是。

在发布时,你通常需要经历以下步骤:

  • 更新 package.json 中的版本号
  • 更新变更日志
  • 实际发布(例如 npm run build && npm publish
  • 创建 git 标签
  • 在 GitHub 上创建发布

可能出现的问题

  • 你可能在发布过程中犯错。
    • 团队成员之间的环境不同。
    • 你独自发布,因为整个过程都在你的本地机器上进行。
    • 这不是你的日常工作。错误可能发生。
  • 在发布完成之前,你被阻塞无法做其他事情。
    • 即使你有发布脚本,你也需要监视直到脚本顺利完成。
    • 在脚本完成之前,你不想切换到另一个功能分支并在那里工作。

如何解决这些问题❓

在 Ship.js 中,发布过程分为三个部分。

第一部分:准备(shipjs prepare

预览

运行 shipjs prepare,它将简要执行以下操作:

  • 确定下一个版本号。
  • 更新版本和变更日志。
  • 创建一个 pull request。

这个过程不到几分钟。

第二部分:审核

  • 自己或与同事一起审核 PR。
  • 如果需要,可以向 PR 添加更多提交。
  • 你可以暂缓发布,从暂存分支构建并手动测试。
  • 如果你想取消发布,只需关闭 PR 并删除暂存分支。

当你认为准备好发布时,合并 PR。

第三部分:触发发布(shipjs trigger

运行 shipjs trigger,它将简要执行以下操作:

  • 运行最终测试(单元测试、端到端测试等)。
  • 发布到 NPM(或根据您的配置发布到其他地方)。
  • 为该版本创建一个 git 标签。
  • 在 GitHub 上为该标签创建一个发布。

您可以在 PR 合并后手动在基础分支上运行 shipjs trigger

然而,您也可以配置您的 CI 服务(例如 CircleCI)来为您完成这项工作。这意味着最耗时的过程是在 CI 服务上异步进行的,不会占用您的工作环境。

入门指南

让我们继续阅读指南

或者,如果您更喜欢观看视频,也可以观看这个视频。

Ship.js 入门指南

它与 semantic-release 有什么不同?

semantic-release 是一个用于完全自动化版本管理和包发布的工具。

Ship.js 让您对发布过程有更多的控制。Ship.js 在每次发布之前自动创建一个 PR,这样您就可以:

  • 确认下一个版本号是否正确。
  • 确认哪些提交将被发布,并与同事讨论。
  • 编辑自动生成的更新日志,使其更清晰易读。
  • 对发布候选包运行任何自动化测试。
  • 自动构建发布候选版本(使用 Pika CICodeSandbox)。

如何贡献?

阅读贡献指南 →

贡献者 ✨

感谢这些优秀的人(表情符号说明):

本项目遵循 [all-contributors](https://github.com/all-contributors/all-contributors) 规范。欢迎任何形式的贡献!

徽章 deploy

向世界展示你正在使用 Ship.js

[![deploy](https://img.shields.io/badge/deploy-🛳%20Ship.js-blue?style=flat)](https://github.com/algolia/shipjs)
<a title="deploy" href="https://github.com/algolia/shipjs" rel="nofollow">
  <img src="https://img.shields.io/badge/deploy-🛳%20Ship.js-blue?style=flat" />
</a>
项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

稿定AI

稿定设计 是一个多功能的在线设计和创意平台,提供广泛的设计工具和资源,以满足不同用户的需求。从专业的图形设计师到普通用户,无论是进行图片处理、智能抠图、H5页面制作还是视频剪辑,稿定设计都能提供简单、高效的解决方案。该平台以其用户友好的界面和强大的功能集合,帮助用户轻松实现创意设计。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号