# 001CICD工具选型
# 简介
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 | ✅ | ✅ |
# GitlabCE版本选择17.5.2
# gitlab
https://packages.gitlab.com/app/gitlab/gitlab-ce/search?dist=el%2F7
## download cmd
wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-17.5.2-ce.0.el7.x86_64.rpm/download.rpm
# gitlab-runner
https://gitlab.com/gitlab-org/gitlab-runner/-/releases/v17.5.2
1
2
3
4
5
6
7
2
3
4
5
6
7