使用 semantic-release 在发布中更新版本字符串,并通过提交非 npm 项目
using semantic-release to update version strings in release and via commit for non-npm project
我正在 Gitlab 上开发一些 WordPress 项目,我想使用语义发布来自动管理发布。为此,我试图完成一些额外的事情:
- 通过
${nextRelease.version}
. 在代码库中更新和提交适用的版本字符串
- 类似地更新为发布生成的文件中的版本字符串(为方便起见压缩)。
我很确定我已经接近了,我得到了第一个项目(通过 google 的 semantic-release-replace-plugin)但没有第二个。到目前为止,我已经尝试通过语义发布的插件生态系统来做大部分事情,但如果需要,我可以冒险进入脚本领域。
我的 .releaserc
看起来像:
{
"branches": [ "main" ],
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
[
"@google/semantic-release-replace-plugin",
{
"replacements": [
{
"files": ["style.css"],
"from": "Version: .*",
"to": "Version: ${nextRelease.version}",
"results": [
{
"file": "style.css",
"hasChanged": true,
"numMatches": 1,
"numReplacements": 1
}
],
"countMatches": true
}
]
}
],
[
"@semantic-release/git",
{
"assets": ["style.css"]
}
],
[
"@semantic-release/gitlab",
{
"assets": [
{"path": "experiments.zip", "label": "zip"}
]
}
]
]
}
.gitlab-ci.yml
看起来像:
variables:
GL_TOKEN: $GL_TOKEN
stages:
- release
before_script:
- npm install
publish:
image: cimg/php:7.4-node
stage: release
script:
- npm run build
- npm run zip
- npx semantic-release
only:
refs:
- main
其中 npm run build
编译一些资产,npm run zip
是一个基于 JavaScript 的脚本,用于压缩所需的生产就绪文件,在本例中生成 experiments.zip.
如有任何建议,我们将不胜感激!
所以这里的主要问题是编译没有在正确的时间发生,我需要滑动
"@semantic-release/exec",
{
"prepareCmd": "node bin/makezip.js"
}
在“@semantic-release/git”和“@semantic-release/gitlab”之间。
我正在 Gitlab 上开发一些 WordPress 项目,我想使用语义发布来自动管理发布。为此,我试图完成一些额外的事情:
- 通过
${nextRelease.version}
. 在代码库中更新和提交适用的版本字符串
- 类似地更新为发布生成的文件中的版本字符串(为方便起见压缩)。
我很确定我已经接近了,我得到了第一个项目(通过 google 的 semantic-release-replace-plugin)但没有第二个。到目前为止,我已经尝试通过语义发布的插件生态系统来做大部分事情,但如果需要,我可以冒险进入脚本领域。
我的 .releaserc
看起来像:
{
"branches": [ "main" ],
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
[
"@google/semantic-release-replace-plugin",
{
"replacements": [
{
"files": ["style.css"],
"from": "Version: .*",
"to": "Version: ${nextRelease.version}",
"results": [
{
"file": "style.css",
"hasChanged": true,
"numMatches": 1,
"numReplacements": 1
}
],
"countMatches": true
}
]
}
],
[
"@semantic-release/git",
{
"assets": ["style.css"]
}
],
[
"@semantic-release/gitlab",
{
"assets": [
{"path": "experiments.zip", "label": "zip"}
]
}
]
]
}
.gitlab-ci.yml
看起来像:
variables:
GL_TOKEN: $GL_TOKEN
stages:
- release
before_script:
- npm install
publish:
image: cimg/php:7.4-node
stage: release
script:
- npm run build
- npm run zip
- npx semantic-release
only:
refs:
- main
其中 npm run build
编译一些资产,npm run zip
是一个基于 JavaScript 的脚本,用于压缩所需的生产就绪文件,在本例中生成 experiments.zip.
如有任何建议,我们将不胜感激!
所以这里的主要问题是编译没有在正确的时间发生,我需要滑动
"@semantic-release/exec",
{
"prepareCmd": "node bin/makezip.js"
}
在“@semantic-release/git”和“@semantic-release/gitlab”之间。