语义发布不接受 gitlab 私有存储库上的 GITLAB_TOKEN

rfc*_*484 2 gitlab gitlab-ci gitlab-api semantic-release

这是错误日志消息:

\n
\n

[3:40:55 PM] [语义发布] \xe2\x80\xba \xe2\x9c\x96 命令“git push --dry-run\n--no-verify https://gitlab-ci-令牌:[secure]@[repository-url].git\nHEAD:main" 失败,并显示错误消息远程:不允许您上传代码。\n致命:无法访问 \'https://gitlab-ci- token:[secure]@[repository-url]/\': 请求的 URL 返回错误:403。

\n
\n

GITLAB_TOKEN在存储库设置中设置了所有必要的权限,但似乎它甚至没有被使用:

\n

在此输入图像描述

\n

这是我的.releaserc.json配置:

\n
{\n  "branches": ["main", { "name": "beta", "prerelease": true }],\n  "plugins": [\n    "@semantic-release/commit-analyzer",\n    "@semantic-release/release-notes-generator",\n    "@semantic-release/changelog",\n    "@semantic-release/npm",\n    "@semantic-release/gitlab",\n    [\n      "@semantic-release/git",\n      {\n        "assets": ["package.json", "package-lock.json", "CHANGELOG.md"],\n        "message": "chore(release): ${nextRelease.version} [skip ci]\\n\\n${nextRelease.notes}"\n      }\n    ]\n  ]\n}\n
Run Code Online (Sandbox Code Playgroud)\n

这是我的.gitlab-ci.yml配置:

\n
# NodeJs image\nimage: node:16\n\n# STAGES\nstages:\n  - checks\n  - build\n  - release\n\n# SETUP\nbefore_script:\n  - node -v\n  - npm config set //registry.npmjs.org/:_authToken ${NPM_TOKEN}\n  - npm ci --cache .npm --prefer-offline\n\n# JOBS\nlint:\n  stage: checks\n  script:\n    - npm run lint\n\ntest:\n  stage: checks\n  script:\n    - npm run test:ci\n\nbuild:\n  stage: build\n  script:\n    - npm run build\n\nrelease:\n  stage: release\n  only:\n    - main\n  script:\n    - npx semantic-release\n
Run Code Online (Sandbox Code Playgroud)\n

这是我正在使用的语义发布依赖项及其版本:

\n
"@semantic-release/changelog": "^6.0.1",\n"@semantic-release/git": "^10.0.1",\n"@semantic-release/gitlab": "^7.0.4",\n"@semantic-release": "^19.0.2",\n
Run Code Online (Sandbox Code Playgroud)\n

作为GITLAB_TOKEN维护者是存储库的成员(就像语义发布正在工作的其他存储库一样):

\n

在此输入图像描述

\n

有什么建议么?

\n

rfc*_*484 5

所以最后的问题是我必须将创建的GITLAB_TOKEN访问令牌添加到Settings > CI/CD > Variables