我想要构建和部署类似于semantic-release的两个不同项目。我已经写过a small stand-alone binary,可以给出适当的semver bump给定分支(master
)和传统更改日志提交历史记录。
我的一个项目是Docker镜像。这是我正在寻找的流程:
master
(仅master
)... 我的另一个项目是Go项目。我在类似的流程之后:
master
(仅master
)... 我注意到有两个插件似乎可以为此提供解决方案:the Docker plugin和the Github Release plugin。 Docker一个看起来很简单,但Github Release一个我还没有能够开始工作。它甚至不会出现在我的管道中。
我可以从中获取任何输出的唯一方法是删除when: event: tag
,这会抛出一个错误,说明需要条件......但至少它会运行。这提出了一个问题,因为我希望此版本 创建 一个标签&发布,而不仅仅是 反应 到标记事件 - 不管我似乎无论如何我都可以尝试将标记推送到我的仓库并且插件仍然无法显示为构建步骤。如果我做出反应,那么我必须构建master
两次:一次创建标记,一次构建项目并进行发布。
如何在Drone中设置如上所述的流程?
为了记录,我没有在任何一个步骤中使用我的实用程序,因此无论如何都不会使插件执行短路。