#runner #release #checklist

bin+lib releez

一个安全运行应用程序发布清单的实用工具

4 个稳定版本

1.0.3 2020年4月25日
1.0.0 2020年4月24日

#1019 in 异步

每月下载 23

MIT 许可证

2.5MB
696

Crate Contributors MIT

releez

一个安全运行应用程序 发布清单 的实用工具。

为什么使用 releez?

在应用程序发布之前,我们都会记录一个清单来避免任何错误。有人将它们写入名为 release-checklist.txt 的文件,或者有人在其他地方记录它们。

因此,在发布过程中可能会涉及以下两种类型的任务

  1. 自动:这些任务通过运行脚本自动完成。
  2. 手动:这些任务需要手动操作,因为这些任务无法自动化或很难自动化。

这样,我们必须记住我们刚刚完成了哪一步,而且如果某些自动化任务在某个地方中断,就很难找到故障点。我们犯错误是正常的。

但是,如果某个工具代替这些自动化和手动任务运行,并且如果它跟踪发布进度,那么如果某些任务未能完成,它会存储状态,并允许从出现错误的地方继续发布过程,那么它将是一个救星。

在这里,就是 releez 工具,它正好做了它意味着的事情。它需要一个名为 releez.yml 的配置文件,其中包含发布清单。

此配置文件类似于我们的 release-checklis.txt 文件或我们用来记录清单的任何其他东西。您只需提及任务名称和任务类型(automanual),如果是自动化任务,则必须提及要运行的命令,如果是手动任务,则必须写出执行该任务的说明或指南。就这样,它将运行您的清单并跟踪进度,如果在某个地方失败,它还可以继续发布。

有趣的事实此项目本身使用 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