GitLab简介与安装

    |     2023年5月6日   |   web前端技术   |     0 条评论   |    288

GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。企业用来搭私有代码托管,相对 GitHub、Gitee 更安全。它还提供 CI/CD,是 DevOps 生命周期里的重要一环。

简介参考 GitLab简介。

一、GitLab 简介

官方网站:https://about.gitlab.com/

1695952744881

二、使用官方 GitLab

可直接注册官网使用。缺点:代码在别人服务器上,安全性取决于对方。

1695953057339

三、自建前的准备

实例建议至少 2 vCPU、4GiB 内存,已装 CentOS 7,并放行安全组:

方向 协议/应用 端口/范围 源地址
入方向 HTTP(80) 80 0.0.0.0/0

安装方式:手动部署、镜像部署、宝塔安装。

四、手动部署

1. 依赖、HTTP 与 SSH

sudo yum install -y curl policycoreutils-python openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd
sudo firewall-cmd --permanent --add-service=http
sudo systemctl reload firewalld

2. 安装软件包

curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
sudo yum install gitlab-ce

1695954007613

3. 初始化与启停

sudo gitlab-ctl reconfigure

gitlab-ctl start

gitlab-ctl stop

五、宝塔安装

安装宝塔

yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec

启动宝塔:

1695954509775

安装 GitLab:

1695954597353

1695954723803

Nginx 冲突

宝塔把 GitLab 的 nginx 启动文件改成 gitlab-web,配置里却没改。改启动脚本:

$ vi /opt/gitlab/sv/nginx/run
exec chpst -P /opt/gitlab/embedded/sbin/nginx -p /var/opt/gitlab/nginx
改为
exec chpst -P /opt/gitlab/embedded/sbin/gitlab-web -p /var/opt/gitlab/nginx

重启:

gitlab-ctl start

修改访问地址

没用云服务器时,把外网地址改成内网。编辑 gitlab.yml:

$vi /var/opt/gitlab/gitlab-rails/etc/gitlab.yml

host: localhost
port: 80
https: false
修改host值为你想使用的外网域名或服务器IP地址即可,保存退出。

重启用 gitlab-ctl restart,不要用 reconfigure(会按 /etc/gitlab/gitlab.rb 重生配置,改动被覆盖)。

中文支持

1695955727354

1695955828549

1695955908735

六、GitLab Runner

Runner 开源,用来跑作业并把结果送回 GitLab,配合 GitLab CI 做持续集成。介绍见 GitRunner。

1695956558926

流程:

  • Runner POST /api/v4/runners,带注册 Token
  • 成功返回 runner_token
  • 循环 POST /api/v4/request,带 runner_token
  • 通过后拿到任务 payload 和 job_token
  • 执行器用 job_token 克隆代码、下载配置、跑任务
  • Runner 把输出、状态和 job_token 回给 GitLab

七、安装 GitLab Runner

Docker 安装

官网:https://docs.gitlab.com/runner/install/

$ mkdir -p /data/gitlab-runner/config
$ docker run -itd --restart=always --name gitlab-runner \
-v /data/gitlab-runner/config:/etc/gitlab-runner \
-v /var/run/docker.sock:/var/run/docker.sock  gitlab/gitlab-runner:latest
$ docker exec -it gitlab-runner bash
root@24dc60abee0b:/# gitlab-runner -v
Version:      13.8.0
Git revision: 775dd39d
Git branch:   13-8-stable
GO version:   go1.13.8
Built:        2021-01-20T13:32:47+0000
OS/Arch:      linux/amd64

CentOS 7 用 rpm

2. centos7下载rpm包快速安装

1. 下载 rpm:

Index of /gitlab-runner/yum/el7/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

选和 GitLab 接近的版本(gitlab)。gitlab-runner-13.8.0-1.x86_64.rpm:

gitlab-runner-13.8.0-1.x86_64.rar – 蓝奏云

2. 安装:

rpm -ivh gitlab-runner-13.8.0-1.x86_64.rpm

3. 服务:

systemctl enable gitlab-runner --开机自启
systemctl status gitlab-runner --查看状态
systemctl start gitlab-runner --启动

4. 注册 runner

gitlab-runner register

  • Enter the GitLab instance URL:填 GitLab 地址(https://gitlab.com/):)
  • Enter the registration token:GitLab 上提示的 token
  • Enter a description:可空
  • Enter tags:后面 CI 要用,一般跟项目名一致
  • Enter optional maintenance note:可空
  • Enter an executor:一般为 shell(也可 docker 等)

到 GitLab 网站创建 Runner,拿 URL 和 token 注册:

  1. 进入 CI/CD

1695957605068

1695957666855

创建 Runner:

1695957803804

生成 URL 和 token,注册 runner:

1695957928761

安装汇智在线项目需要的 node、npm、git:

  • 防止默认装上 git 1.x:sudo yum install https://packages.endpointdev.com/rhel/7/os/x86_64/endpoint-repo.x86_64.rpm -y
  • 安装:yum install nodejs npm git -y

启用 Runner:

1695958538642

5. gitlab-runner 用户权限

迁服务重配 CI 时,若没把 runner 用户改成 root,流水线可能没权限。自动化部署相关检索:自动化部署。可用赋权或改用 root。方式一:

1、查看gitlab-runner进程
ps aux|grep gitlab-runner
2、卸载gitlab-runner默认用户
sudo gitlab-runner uninstall
3、将用户设置为root
gitlab-runner install --working-directory /home/gitlab-runner --user root
4、重启服务
systemctl restart gitlab-runner.service
5、再次查看gitlab-runner进程
ps aux|grep gitlab-runner

1695981538780

参考:https://blog.csdn.net/hzblucky1314/article/details/125966138

方式二同样是改 root 权限:

参考:https://blog.csdn.net/m0_67403240/article/details/126644282

步骤 命令/注意
手动装 GitLab yum 依赖 → 官方 CE 源 → reconfigure
宝塔 改 nginx 启动名 gitlab-web,改地址用 restart 不是 reconfigure
Runner docker 或 rpm,register 后 tags 与项目对齐
权限 install –user root 后重启服务

一句话总结:私有 GitLab 先保证机器规格和 80 端口,再选手动或宝塔安装;CI 靠 Runner 注册拿 token,权限不够就把 runner 用户改成 root。

转载请注明来源:GitLab简介与安装
本文链接地址:https://ai.zhousir.top/?p=3399
回复 取消