gitlab-16.0.5更新啦!

目前已经复习了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还未安装,后续尝试官方推荐的几种方式,安装好接着分享给大家,祝学习顺利!