使用语义发布生成版本标签,不带 v

问题描述 投票:0回答:2

如何使用格式为 major.minor.patch 的 git 标签,而开头没有“v”(即版本 1.0.1、2.0.1)?

我正在使用 Gitlab CI,但即使在本地使用 Docker 映像,我也无法正确地将值传递给 tag-format

我正在尝试做的事情:

npx --no-install semantic-release --tag-format "\${version}"


错误日志:

[8:42:06 PM] [语义发布] › ✖ ETAGNOVERSION 无效

tagFormat
选项。 tagFormat (https://github.com/semantic-release/semantic-release/blob/master/docs/usage/configuration.md#tagformat) 选项必须包含变量版本一次。

tagFormat 选项的配置是``。

[8:42:06 PM] [语义发布] › ✖ EINVALIDTAGFORMAT 无效

tagFormat
选项。 tagFormat (https://github.com/semantic-release/semantic-release/blob/master/docs/usage/configuration.md#tagformat) 必须编译为有效的 Git 引用 (https://git- scm.com/docs/git-check-ref-format#_description)。

tagFormat 选项的配置是``。

聚合错误: SemanticReleaseError:无效的

tagFormat
选项。 在 module.exports (/usr/local/lib/nodejs/node-v12.16.1-linux-x64/lib/node_modules/semantic-release/lib/get-error.js:6:10) 在 module.exports (/usr/local/lib/nodejs/node-v12.16.1-linux-x64/lib/node_modules/semantic-release/lib/verify.js:22:17) 在异步运行时(/usr/local/lib/nodejs/node-v12.16.1-linux-x64/lib/node_modules/semantic-release/index.js:53:3) 在 async module.exports (/usr/local/lib/nodejs/node-v12.16.1-linux-x64/lib/node_modules/semantic-release/index.js:259:22) 在 async module.exports (/usr/local/lib/nodejs/node-v12.16.1-linux-x64/lib/node_modules/semantic-release/cli.js:55:5) SemanticReleaseError:无效的
tagFormat
选项。 在 module.exports (/usr/local/lib/nodejs/node-v12.16.1-linux-x64/lib/node_modules/semantic-release/lib/get-error.js:6:10) 在 module.exports (/usr/local/lib/nodejs/node-v12.16.1-linux-x64/lib/node_modules/semantic-release/lib/verify.js:29:17) 在异步运行时(/usr/local/lib/nodejs/node-v12.16.1-linux-x64/lib/node_modules/semantic-release/index.js:53:3) 在 async module.exports (/usr/local/lib/nodejs/node-v12.16.1-linux-x64/lib/node_modules/semantic-release/index.js:259:22) 在 async module.exports (/usr/local/lib/nodejs/node-v12.16.1-linux-x64/lib/node_modules/semantic-release/cli.js:55:5) 在 module.exports (/usr/local/lib/nodejs/node-v12.16.1-linux-x64/lib/node_modules/semantic-release/lib/verify.js:41:11) 在 processTicksAndRejections (内部/process/task_queues.js:97:5) 在异步运行时(/usr/local/lib/nodejs/node-v12.16.1-linux-x64/lib/node_modules/semantic-release/index.js:53:3) 在 async module.exports (/usr/local/lib/nodejs/node-v12.16.1-linux-x64/lib/node_modules/semantic-release/index.js:259:22) 在异步 module.exports (/usr/local/lib/nodejs/node-v12.16.1-linux-x64/lib/node_modules/semantic-release/cli.js:55:5) { 名称:'聚合错误' }npm 错误!代码1

当它说tagFormat选项是``时,就好像${version}被空白替换...

git continuous-integration gitlab gitlab-ci semantic-release
2个回答
3
投票

为了解决这个问题,我们在release.config.js配置文件中设置tagFormat:

module.exports = {
    ...
    tagFormat: '${version}',
    ....
}

0
投票

在 Gitlab-CI 中,转义是……有点奇怪。

To-Be-Continious 项目有一个 Semantic-Release 插件。他们的文档指出了将 tagFormat 转义为

"$${version}"

的方法

希望有帮助! 🐺W

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.