【问题标题】:How can I make semantic-release abort and fail if it would release a new major version?如果要发布新的主要版本,如何使语义发布中止并失败?
【发布时间】:2021-07-06 12:27:57
【问题描述】:

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

【问题讨论】:

    标签: semantic-release


    【解决方案1】:

    现有插件

    我为执行此操作的插件创建了一个 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

    【讨论】:

    • 这太完美了!非常感谢!
    猜你喜欢
    • 2021-11-18
    • 2022-01-27
    • 1970-01-01
    • 2020-12-16
    • 1970-01-01
    • 1970-01-01
    • 2020-04-13
    • 2020-05-28
    • 1970-01-01
    相关资源
    最近更新 更多