daltcore/release-tools

此包已弃用且不再维护。未建议替换包。

项目发布工具

安装: 35

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 1

开放问题: 0

类型:项目

0.1.10 2017-09-22 13:18 UTC

This package is not auto-updated.

Last update: 2022-02-01 13:09:13 UTC


README

FOSSA Status

安装

通过composer

composer global require daltcore/release-tools


通过可执行文件:访问发布版并将此可执行文件添加到您的$PATH环境变量中。

在当前运行库上初始化ReleaseTools。创建.release-tools目录和.release-tool文件。

release-tool init

检查ReleaseTools是否就绪

release-tool status

如果您想了解更多关于ReleaseTools结构的信息
则可以在每个命令后面使用-v标志来查看
详细信息

如果发生错误,则可以向工具添加-vvv参数。将显示堆栈跟踪。

用法

开发

在开发中,您应该为所有功能/更改创建新的分支。
发布工具使用当前分支名称为changelog文件命名。

向仓库添加新的changelog文件,此命令是交互式的。
对于测试,您可以使用--dry-run作为参数

release-tool changelog 

实现git钩子以强制您制作changelog条目

release-tool hooks:made-changelog

发布

在开发中,您想运行prepare命令,该命令将在.release-tools文件中指定的仓库中创建一个issue
对于测试,您可以使用--dry-run作为参数

release-tool release:prepare

构建changelog文件
对于测试,您可以使用--dry-run作为参数

release-tool build:changelog

列出所有挂起的changelog

release-tool list:changelog
+-------------------+------------+---------------+--------------+
| Title             | Author     | Merge Request | Type         |
+-------------------+------------+---------------+--------------+
| this is a test MR | Ramon Smit | 1             | Security fix |
+-------------------+------------+---------------+--------------+

构建占位符

如果您需要为release-tool prepare创建自定义占位符,您可以在
目录.release-tools/stubs中创建一个名为prepare.stub的文件

这些文件是markdown文件,以下变量可用

  • :version 这表示您被要求填写的版本
  • :reop 这表示从.release-tool文件中的.repo变量

这将在发布时覆盖推送到GitLab的issue模板。

示例

**Release `:repo` version `:version`**

*Pre flight checks*
* [ ] - Notify in `5_Releases`
* [ ] - A
* [ ] - B
  * [ ] - C

构建playbook

如果您需要为release-tool playbook <playbook-name>创建自定义playbook,您可以在
目录.release-tools/playbooks中创建一个名为<name>.rtp的文件

这些文件是yaml文件,以下变量可用

  • :version 这表示您被要求填写的版本
  • :reop 这表示从.release-tool文件中的.repo变量

示例

playbook:
  gitlab:
    make_branch:
      from: develop
      to: releases/:version

    tag:
      from: releases/:version
      version: v:version

    merge_request:
      branches: releases/:version > master

    merge_request:
      branches: master > develop

  mattermost:
    notify:
      channel: 'releases'
      message: '@channel We''re about to release version :version of the project :repo. Please stop merging now into develop until next announcement'

示例包含playbook的所有可用方法。

.release-tools文件示例

repo: group/repo
api_url: https://gitlab.com
api_key: AbC123DeF456Ghi789
mattermost_webhook: https://mattermost.server.com/hooks/hook-uri

许可

FOSSA Status