代码仓库

目前已经复习了Linux、网络、前后端、docker以及k8s的基础知识,现在就是开始研究持续集成和持续部署也就是CI/CD,目前主流的就是gitlab+自带的cicd流程或者jenkins+docker/k8s作为实现手段,那我们首先安装gitlab,上传代码,然后安装gitlab-runner作为代码的运行环境。将代码部署到k8s集群中,实现快速的代码部署更新迭代,下面就来介绍,可能这篇文章无法全部写完,会持续输出。

gitlab安装

官方文档:

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 version Minimum PostgreSQL version 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. 设置通信偏好配置
sudo yum install -y curl policycoreutils-python openssh-server perl

#如果未启用 OpenSSH 服务器守护程序,请启用:
sudo systemctl status sshd
sudo systemctl enable sshd
sudo systemctl start sshd

#检查是否需要打开防火墙:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld

#安装 Postfix(或 Sendmail)以发送通知电子邮件

sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix

#添加仓库源

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
(ee企业版、ce社区免费版)

#添加访问域名并安装,对于 
https://URL,GitLab 将自动请求 Let's Encrypt 证书,这需要入站 HTTP 访问和有效的主机名。

sudo EXTERNAL_URL="https://gitlab.example.com" yum install -y gitlab-ee

#如果未指定密码,则将自动生成随机密码并在24小时内存储在 
/etc/gitlab/initial_root_password 中。

登录即可:

Alt text


gitlab-runner安装

建议:

建议不要安装在gitlab所在的机器上,gitlab-runner会消耗比较多内存。且由于安全原因,在一台机器上安装所有组件并不安全,尤其是计划使用 shell executor 时。建议每个 GitLab Runner 使用单独的机器。

yum安装:

  1. 添加gitlab官方仓库:
curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh" | sudo bash
sudo yum install gitlab-runner
  1. 在 14.7 及更高版本中,符合 FIPS 140-2 的极狐GitLab Runner 版本可用于 RHEL 发行版。 您可以将 gitlab-runner-fips 用作包名称以安装这个版本,而不是使用 gitlab-runner。

  2. 安装特定版本

yum list gitlab-runner --showduplicates | sort -r
sudo yum install gitlab-runner-10.0.0-1


注册:

1. 安装runner
2. 获取令牌

3. sudo gitlab-runner register




Docker安装:
```sh
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注册:

docker run --rm -it -v gitlab-runner-config:/etc/gitlab-runner gitlab/gitlab-runner:latest register

目前我只装好了仓库,runn还需要尝试一下,安装好接着分享给大家,祝学习顺利!