如果要发布新的主要版本,如何使语义发布中止并失败?

问题描述

我想对 semantic-release 添加一个检查,只允许它发布次要版本和补丁版本。如果它检测到需要执行新的主要发布,我希望该过程中止并失败(而不是继续执行发布)。我该怎么做?

解决方法

现有插件

我为执行此操作的插件创建了一个 npm 包。

evelynhathaway/semantic-release-fail-on-major-bump

npm install --save-dev semantic-release-fail-on-major-bump

.releaserc

{
    "plugins": [
        "semantic-release-fail-on-major-bump",]
}

自定义插件

如果发布的包不能解决您的特定需求,您可以创建一个语义发布插件来实现 verifyRelease 步骤并根据下一个发布类型抛出错误。

plugin/index.js

function verifyRelease (pluginConfig,context) {
    if (context.nextRelease.type === "major") {
        throw new Error("We cannot publish breaking changes at this time.");
    }
}

module.exports = {verifyRelease};

Learn how to make semantic-release plugins

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...