4 个稳定版本
1.0.3 | 2020年4月25日 |
---|---|
1.0.0 | 2020年4月24日 |
#1019 in 异步
每月下载 23 次
2.5MB
696 行
releez
一个安全运行应用程序 发布清单
的实用工具。
为什么使用 releez?
在应用程序发布之前,我们都会记录一个清单来避免任何错误。有人将它们写入名为 release-checklist.txt
的文件,或者有人在其他地方记录它们。
因此,在发布过程中可能会涉及以下两种类型的任务
- 自动:这些任务通过运行脚本自动完成。
- 手动:这些任务需要手动操作,因为这些任务无法自动化或很难自动化。
这样,我们必须记住我们刚刚完成了哪一步,而且如果某些自动化任务在某个地方中断,就很难找到故障点。我们犯错误是正常的。
但是,如果某个工具代替这些自动化和手动任务运行,并且如果它跟踪发布进度,那么如果某些任务未能完成,它会存储状态,并允许从出现错误的地方继续发布过程,那么它将是一个救星。
在这里,就是 releez
工具,它正好做了它意味着的事情。它需要一个名为 releez.yml
的配置文件,其中包含发布清单。
此配置文件类似于我们的 release-checklis.txt
文件或我们用来记录清单的任何其他东西。您只需提及任务名称和任务类型(auto
或 manual
),如果是自动化任务,则必须提及要运行的命令,如果是手动任务,则必须写出执行该任务的说明或指南。就这样,它将运行您的清单并跟踪进度,如果在某个地方失败,它还可以继续发布。
有趣的事实:此项目本身使用 releez
来发布自己。
安装
macOS
$ bash -c "$(curl -fsSL https://git.io/JfL6G)"
Linux
$ bash -c "$(curl -fsSL https://git.io/JfL6G)"
Windows
请从 发布页面 下载。
入门指南
安装后,您可以按照以下步骤开始使用 releez
工具。
首先,您需要在项目的根目录下创建一个名为 releez.yml
的文件,并按照以下格式写入 release-checklist
一个示例 releez.yml
文件
version: 1.0.0
checklist:
- name: A Manual Task
type: manual
instructions:
- Write the instructions or guides to do this manual task
- Another instruction
- You can access next release version as $VERSION here
- You can also embed system environment variables in here e.g. $USER or $PWD
- name: You can also write instructions based on operating systems
type: manual
instructions:
macos + linux:
- This instruction will be shown on linux and macOS system
windows:
- This instruction will be shown on Windows system only
- name: An automated task e.g. Building the project
type: auto
run:
- echo "Build the project"
- npm build
- echo "You can also access release version as $VERSION"
- name: You can also write different commands for different Operating Systems
type: auto
run:
macos + linux:
- echo "commands for macOS and linux"
- echo "commands for macOS and linux"
windows:
- echo "commands for Windows only"
- name: Another auto task, but it will ask to confirm before executing commands
confirm: Do you want to proceed this task to be run?
type: auto
run:
- echo "Releasing..."
- npm publish
然后,当您准备好发布应用程序时,您需要在项目的根目录下运行以下命令,例如使用下一个发布版本 v1.0.2
$ releez v1.0.2
就是这样。它现在将运行这些清单,并确保存储发布状态,如果某个任务运行失败,它还可以从该中断点恢复发布过程。
贡献
您的PR和星星总是受欢迎的。
依赖关系
~9–19MB
~238K SLoC