
tcwlab/semantic-releasesemantic-release 镜像文档tcwlab/semantic-release 是一个基于官方Node镜像和semantic-release项目构建的Docker镜像,专为GitLab CI/CD流水线设计,用于实现基于语义化版本(Semantic Versioning)的自动化发布流程。该镜像封装了semantic-release工具,简化了在GitLab环境中的集成和使用。
项目需包含以下文件结构:
bash. ├── .gitlab-ci.yml # GitLab CI配置文件 ├── .releaserc # semantic-release配置文件 └── 项目源代码文件
.gitlab-ci.yml在GitLab CI/CD流水线中添加发布阶段,使用该镜像执行semantic-release命令:
yamlsemantic-release: stage: release image: tcwlab/semantic-release:1 script: - semantic-release only: refs: - main # 仅在main分支执行发布 except: - tags # 已打标签的提交不重复执行
.releaserc创建语义化发布配置文件,定义使用的插件和分支:
yamlplugins: - "@semantic-release/commit-analyzer" # 分析提交消息 - "@semantic-release/release-notes-generator" # 生成发布说明 - "@semantic-release/gitlab" # 发布到GitLab branches: - "main" # 针对main分支进行发布
配置说明:
commit-analyzer:根据提交消息判断变更类型(遵循Angular提交规范)release-notes-generator:基于提交内容生成发布说明gitlab:将发布信息推送到GitLabbranches:指定需要执行发布的分支semantic-release需要GitLab访问令牌以执行发布操作,需创建以下类型的令牌之一:
注意:令牌需具备
api权限,用于创建发布和标签。
将令牌设置为GitLab CI/CD环境变量:
GITLAB_TOKENsemantic-release根据提交消息自动确定版本变更:
BREAKING CHANGE: ...:创建主版本更新(如1.2.4 → 2.0.0)feat(scope): ...:创建次版本更新(如1.2.4 → 1.3.0)fix(scope): ...:创建补丁版本更新(如1.2.4 → 1.2.5)更多提交消息规则请参考semantic-release提交规范。
项目未来规划和里程碑可查看项目看板。
本项目采用Apache License v2许可。
本项目采用"尽力维护"模式,通过自动化工具进行大部分更新,没有专门的维护团队,不提供任何明示或暗示的担保。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务