首页 > 解决方案 > 如果要发布新的主要版本,如何使语义发布中止并失败?

问题描述

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

标签: semantic-release

解决方案


现有插件

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

evelynhathaway/语义释放失败在主要凹凸

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};

学习如何制作语义发布插件


推荐阅读