# 001-CICD工具选型
# 简介
Jenkins 用于持续集成,而 GitLab CI/CD 用于代码协作和版本控制。市面上常见的组合是Jenkins+Gitlab,事实上只需要Gitlab就已经足够了。
# Jenkins VS Gitlab
Jenkins | Gitlab | |
---|---|---|
开源、免费 | ✅ | ✅ |
产品类型 | 自托管 / 本地部署 | 自托管 / 本地部署 |
易安装 | ❌安装插件超级容易失败,万分头疼 | ✅ |
开发语言 | java | ruby、go |
社区 | ✅ | ✅ |
REST API | ✅ | ✅ |
内置CI/CD | 根据需求支持CI/CD | 自带 |
构建Pipelines | Jenkins Pipeline DSL | Yaml |
支持并行 | ✅ | ✅ |
支持LDAP | ✅ | ✅ |
镜像仓库 | ❌ | ✅ |
问题跟踪 | ❌ | ✅ |
代码评审 | ❌ | ✅ |
Wiki | ❌ | ✅ |
事件订阅 | ❌需自行轮询接口 | ✅主动推送 |
集成Kubernates | ✅ | ✅ |