目前已经复习了Linux、网络、前后端、docker以及k8s的基础知识,现在就是开始研究持续集成和持续部署也就是CI/CD,目前主流的就是gitlab 自带的cicd流程或者jenkins docker/k8s作为实现手段,那我们首先安装gitlab,上传代码,然后安装gitlab-runner作为代码的运行环境。将代码部署到k8s集群中,实现快速的代码部署更新迭代,下面就来介绍,可能这篇文章无法全部写完,会持续输出。
## gitlab安装
官方文档:
代码语言:javascript复制https://docs.gitlab.com/ee/install/
环境要求:
1. 安装包约占2.5G存储空间,考虑使用LVM逻辑卷管理挂载硬盘空间
2. 由于文件系统性能可能会影响 GitLab 的整体性能,不建议使用基于云的文件系统进行存储。
3. NFS 用于 Git 存储库存储已弃用。更多信息,参阅官方声明。
4. CPU:4 个核心是推荐的最低核心数,支持最多 500 个用户,
8 个核心支持最多 1000 个用户。
5. 内存:4 GB RAM 是最低内存大小要求,支持最多 500 个用户 ◦ 官方正在努力减少内存要求。8 GB RAM 支持最多 1000 个用户。
6. 建议服务器至少有 2 GB 的交换空间。
7. PostgreSQL 是唯一支持的数据库,它与 Omnibus GitLab 软件包捆绑在一起。您也可以使用外部 PostgreSQL 数据库管理服务器。对 MySQL 的支持已在 GitLab 12.1 中删除。
GitLab 版本 PostgreSQL 最小版本
13.0 11
14.0 12.7
15.0 12.10
16.0 13.6
8. redis要求:
Redis 的要求如下:从 GitLab 16.0 开始需要 Redis 6.0 或更高版本。不支持 Redis 集群模式。必须使用 Redis 单机版。Redis 的存储要求很小,每用户平均约 25 kB。
---
安装步骤:
系统:centos7
硬件:4C|4G|40G
官方分为四个步骤:
1. 安装配置重要依赖
2. 添加gitlab源并安装软件包
3. 登录web页面
4. 设置通信偏好配置
代码语言:javascript复制sudo yum install -y curl policycoreutils-python openssh-server perl
#如果未启用 OpenSSH 服务器守护程序,请启用:
代码语言:javascript复制sudo systemctl status sshd
sudo systemctl enable sshd
sudo systemctl start sshd
#检查是否需要打开防火墙:
代码语言:javascript复制sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld
#安装 Postfix(或 Sendmail)以发送通知电子邮件
代码语言:javascript复制sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix
#添加仓库源
代码语言:javascript复制curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
(ee企业版、ce社区免费版)
#添加访问域名并安装,对于
https://URL,GitLab 将自动请求 Let's Encrypt 证书,这需要入站 HTTP 访问和有效的主机名。
代码语言:javascript复制sudo EXTERNAL_URL="https://gitlab.example.com" yum install -y gitlab-ee
#如果未指定密码,则将自动生成随机密码并在24小时内存储在中。
代码语言:javascript复制/etc/gitlab/initial_root_password
登录即可:
---
## gitlab-runner安装
建议:
建议不要安装在gitlab所在的机器上,gitlab-runner会消耗比较多内存。且由于安全原因,在一台机器上安装所有组件并不安全,尤其是计划使用 shell executor 时。建议每个 GitLab Runner 使用单独的机器。
yum安装:
1. 添加gitlab官方仓库:
代码语言:javascript复制curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh" | sudo bash
2.
代码语言:javascript复制sudo yum install gitlab-runner
3. 在 14.7 及更高版本中,符合 FIPS 140-2 的极狐GitLab Runner 版本可用于 RHEL 发行版。您可以将 gitlab-runner-fips 用作包名称以安装这个版本,而不是使用 gitlab-runner。
4. 安装特定版本
代码语言:javascript复制yum list gitlab-runner --showduplicates | sort -r
sudo yum install gitlab-runner-10.0.0-1
注册:
1. 安装runner
2. 获取令牌
3.
代码语言:javascript复制sudo gitlab-runner register
Docker安装:
代码语言:javascript复制docker run -d --name gitlab-runner --restart always
-v /srv/gitlab-runner/config:/etc/gitlab-runner
-v /var/run/docker.sock:/var/run/docker.sock
gitlab/gitlab-runner:latest
Docker注册:
代码语言:javascript复制docker run --rm -it -v gitlab-runner-config:/etc/gitlab-runner gitlab/gitlab-runner:latest register
目前我只装好了仓库,runn还未安装,后续尝试官方推荐的几种方式,安装好接着分享给大家,祝学习顺利!