Chr*_*lus 5 continuous-integration gitlab gitlab-ci semantic-release
我很想使用语义发布来管理我们的语义版本控制。为此,我尝试将其集成到我们的 Gitlab CI 中。我遵循了一些示例并提供了将代码推送到存储库所需的环境变量。当语义释放开始运行时,它会抛出以下错误:
\n$ yarn semantic-release\nyarn run v1.22.10\nwarning package.json: No license field\n$ /Users/vision-ci/builds/dFCxNLEA/0/Christoph.Griehl/semantic-versioning/node_modules/.bin/semantic-release\n[11:28:47 AM] [semantic-release] \xe2\x80\xba \xe2\x84\xb9 Running semantic-release version 17.4.3\n[11:28:47 AM] [semantic-release] \xe2\x80\xba \xe2\x9c\x94 Loaded plugin "verifyConditions" from "@semantic-release/changelog"\n[11:28:47 AM] [semantic-release] \xe2\x80\xba \xe2\x9c\x94 Loaded plugin "verifyConditions" from "@semantic-release/git"\n[11:28:48 AM] [semantic-release] \xe2\x80\xba \xe2\x9c\x94 Loaded plugin "verifyConditions" from "@semantic-release/gitlab"\n[11:28:48 AM] [semantic-release] \xe2\x80\xba \xe2\x9c\x94 Loaded plugin "analyzeCommits" from "@semantic-release/commit-analyzer"\n[11:28:48 AM] [semantic-release] \xe2\x80\xba \xe2\x9c\x94 Loaded plugin "generateNotes" from "@semantic-release/release-notes-generator"\n[11:28:48 AM] [semantic-release] \xe2\x80\xba \xe2\x9c\x94 Loaded plugin "prepare" from "@semantic-release/changelog"\n[11:28:48 AM] [semantic-release] \xe2\x80\xba \xe2\x9c\x94 Loaded plugin "prepare" from "@semantic-release/git"\n[11:28:48 AM] [semantic-release] \xe2\x80\xba \xe2\x9c\x94 Loaded plugin "publish" from "@semantic-release/gitlab"\n[11:28:48 AM] [semantic-release] \xe2\x80\xba \xe2\x9c\x94 Loaded plugin "addChannel" from "@semantic-release/npm"\n[11:28:48 AM] [semantic-release] \xe2\x80\xba \xe2\x9c\x94 Loaded plugin "addChannel" from "@semantic-release/github"\n[11:28:48 AM] [semantic-release] \xe2\x80\xba \xe2\x9c\x94 Loaded plugin "success" from "@semantic-release/github"\n[11:28:48 AM] [semantic-release] \xe2\x80\xba \xe2\x9c\x94 Loaded plugin "fail" from "@semantic-release/github"\n[11:28:50 AM] [semantic-release] \xe2\x80\xba \xe2\x9c\x94 Run automated release from branch somebranch on repository https://gitlab-ci-token:[secure]@gitlab.wabo.run/Christoph.Griehl/semantic-versioning.git\n[11:28:50 AM] [semantic-release] \xe2\x80\xba \xe2\x9c\x94 Allowed to push to the Git repository\n[11:28:50 AM] [semantic-release] \xe2\x80\xba \xe2\x84\xb9 Start step "verifyConditions" of plugin "@semantic-release/changelog"\n[11:28:50 AM] [semantic-release] \xe2\x80\xba \xe2\x9c\x94 Completed step "verifyConditions" of plugin "@semantic-release/changelog"\n[11:28:50 AM] [semantic-release] \xe2\x80\xba \xe2\x84\xb9 Start step "verifyConditions" of plugin "@semantic-release/git"\n[11:28:50 AM] [semantic-release] \xe2\x80\xba \xe2\x9c\x94 Completed step "verifyConditions" of plugin "@semantic-release/git"\n[11:28:50 AM] [semantic-release] \xe2\x80\xba \xe2\x84\xb9 Start step "verifyConditions" of plugin "@semantic-release/gitlab"\n[11:28:50 AM] [semantic-release] [@semantic-release/gitlab] \xe2\x80\xba \xe2\x84\xb9 Verify GitLab authentication (https://gitlab.wabo.run/api/v4)\n[11:28:51 AM] [semantic-release] \xe2\x80\xba \xe2\x9c\x94 Completed step "verifyConditions" of plugin "@semantic-release/gitlab"\n[11:28:51 AM] [semantic-release] \xe2\x80\xba \xe2\x84\xb9 No git tag version found on branch somebranch\n[11:28:51 AM] [semantic-release] \xe2\x80\xba \xe2\x84\xb9 No previous release found, retrieving all commits\n[11:28:51 AM] [semantic-release] \xe2\x80\xba \xe2\x84\xb9 Found 59 commits since last release\n[11:28:51 AM] [semantic-release] \xe2\x80\xba \xe2\x84\xb9 Start step "analyzeCommits" of plugin "@semantic-release/commit-analyzer"\n[11:28:51 AM] [semantic-release] \xe2\x80\xba \xe2\x9c\x96 Failed step "analyzeCommits" of plugin "@semantic-release/commit-analyzer"\n[11:28:51 AM] [semantic-release] \xe2\x80\xba \xe2\x9c\x96 An error occurred while running semantic-release: Error: Cannot find module 'conventional-changelog-conventionalcommits'\nRequire stack:\n- /Users/vision-ci/builds/[secure]/0/Christoph.Griehl/semantic-versioning/noop.js\n at Function.Module._resolveFilename (node:internal/modules/cjs/loader:941:15)\n at resolveFileName (/Users/vision-ci/builds/[secure]/0/Christoph.Griehl/semantic-versioning/node_modules/resolve-from/index.js:29:39)\n at resolveFrom (/Users/vision-ci/builds/[secure]/0/Christoph.Griehl/semantic-versioning/node_modules/resolve-from/index.js:43:9)\n at module.exports (/Users/vision-ci/builds/[secure]/0/Christoph.Griehl/semantic-versioning/node_modules/resolve-from/index.js:46:47)\n at module.exports (/Users/vision-ci/builds/[secure]/0/Christoph.Griehl/semantic-versioning/node_modules/import-from/index.js:4:55)\n at module.exports (/Users/vision-ci/builds/[secure]/0/Christoph.Griehl/semantic-versioning/node_modules/@semantic-release/commit-analyzer/lib/load-parser-config.js:22:67)\n at analyzeCommits (/Users/vision-ci/builds/[secure]/0/Christoph.Griehl/semantic-versioning/node_modules/@semantic-release/commit-analyzer/index.js:29:24)\n at validator (/Users/vision-ci/builds/[secure]/0/Christoph.Griehl/semantic-versioning/node_modules/semantic-release/lib/plugins/normalize.js:34:30)\n at /Users/vision-ci/builds/[secure]/0/Christoph.Griehl/semantic-versioning/node_modules/semantic-release/lib/plugins/pipeline.js:37:40\n at next (/Users/vision-ci/builds/[secure]/0/Christoph.Griehl/semantic-versioning/node_modules/p-reduce/index.js:17:9) {\n code: 'MODULE_NOT_FOUND',\n requireStack: [\n '/Users/vision-ci/builds/[secure]/0/Christoph.Griehl/semantic-versioning/noop.js'\n ],\n pluginName: '@semantic-release/commit-analyzer'\n}\nError: Cannot find module 'conventional-changelog-conventionalcommits'\nRun Code Online (Sandbox Code Playgroud)\n正如您所看到的,它似乎加载了一些插件,但在这一步总是失败。\n我的 ci.yaml 如下所示:
\nrelease:\n stage: release\n tags:\n - wandelbots-web\n script:\n - yarn\n - env\n - yarn semantic-release\n except:\n refs:\n - tags\n variables:\n - $CI_COMMIT_TITLE =~ /^RELEASE:.+$/\nRun Code Online (Sandbox Code Playgroud)\n我的 package.json:
\n "devDependencies": {\n "@semantic-release/changelog": "^5.0.1",\n "@semantic-release/commit-analyzer": "^8.0.1",\n "@semantic-release/git": "^9.0.0",\n "@semantic-release/gitlab": "^6.1.0",\n "@semantic-release/npm": "^7.1.3",\n "@semantic-release/release-notes-generator": "^9.0.2",\n "semantic-release": "^17.4.3",\n "semantic-release-slack-bot": "^2.1.1"\n }\nRun Code Online (Sandbox Code Playgroud)\n和我的语义发布配置:
\nbranches: ['master', 'somebranch']\nci: true\ndebug: true\ndryRun: false\ntagFormat: '${version}'\n\n# Global plugin options (will be passed to all plugins)\npreset: 'conventionalcommits'\ngitlabUrl: 'https://gitlab.OURREPOURL/' # your gitlab url\nslackWebhook: 'MYSLACKURL' # if you need slack notifies\n\n# Responsible for verifying conditions necessary to proceed with the release:\n# configuration is correct, authentication token are valid, etc...\nverifyConditions:\n - '@semantic-release/changelog'\n - '@semantic-release/git'\n - '@semantic-release/gitlab'\n # - 'semantic-release-slack-bot'\n\n# Responsible for determining the type of the next release (major, minor or patch).\n# If multiple plugins with a analyzeCommits step are defined, the release type will be\n# the highest one among plugins output.\n# Look details at: https://github.com/semantic-release/commit-analyzer#configuration\nanalyzeCommits:\n - path: '@semantic-release/commit-analyzer'\n\n\n# Responsible for generating the content of the release note.\n# If multiple plugins with a generateNotes step are defined,\n# the release notes will be the result of the concatenation of each plugin output.\ngenerateNotes:\n - path: '@semantic-release/release-notes-generator'\n writerOpts:\n groupBy: 'type'\n commitGroupsSort: 'title'\n commitsSort: 'header'\n linkCompare: true\n linkReferences: true\n\n# Responsible for preparing the release, for example creating or updating files\n# such as package.json, CHANGELOG.md, documentation or compiled assets\n# and pushing a commit.\nprepare:\n - path: '@semantic-release/changelog'\n - path: '@semantic-release/git'\n message: 'RELEASE: ${nextRelease.version}'\n assets: ['CHANGELOG.md']\n\n# Responsible for publishing the release.\npublish:\n - path: '@semantic-release/gitlab'\n\nsuccess:\n # - path: 'semantic-release-slack-bot'\n # notifyOnSuccess: true\n # markdownReleaseNotes: false\n\nfail:\n # - path: 'semantic-release-slack-bot'\n # notifyOnFail: true\n\nRun Code Online (Sandbox Code Playgroud)\n如果有人能将我推向正确的方向,我将非常感激。我现在已经尝试了 2 个不同的物理 gitlab-runner,MAC 和错误都是相同的。
\n您将“conventionalcommits”定义为提交消息分析器的预设。为了使用此预设,您必须将其包含到您的(开发)依赖项中。这至少是根据 npm 错误消息的错误:“找不到模块‘conventional-changelog-conventionalcommits’。
只需将其添加到您的(开发)依赖项中即可:
yarn add -D conventional-changelog-conventionalcommits
Run Code Online (Sandbox Code Playgroud)
或者
npm i --save-dev conventional-changelog-conventionalcommits
Run Code Online (Sandbox Code Playgroud)
应该可以解决你的问题。
这是该包的存储库链接。
https://github.com/conventional-changelog/conventional-changelog
我希望这将有助于解决您的问题!
| 归档时间: |
|
| 查看次数: |
5285 次 |
| 最近记录: |