GitLab简介与安装

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

 

GitLab简介

GitLab 是一个用于仓库管理系统开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。 企业用于搭建自己的私有代码托管服务,相对github,gitee 更安全

GitLab提供了持续集成(CI/CD)系统来管理部署项目

GitLab是整个DevOps生命周期的第一个应用程序

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

1695952744881

 

使用官方gitlab

  1. 直接使用官方提供服务

    进入官网注册、登录使用,

    缺点:代码部署在别人服务器不安全。

    1695953057339

安装gitlab服务

  1. 创建部署GitLab的实例,要求如下 :
    • 部署GitLab的实例要求至少使用2个vCPU和4GiB的内存
    • 已添加如下表所示的安全组规则。
      方向 协议/应用 端口/范围 源地址
      入方向 HTTP(80) 80 0.0.0.0/0
    • 已经安装centos7系统
  2. 安装方式:
    • 手动部署GitLab环境
    • 镜像部署GitLab环境
    • 宝塔安装GitLab环境

手动部署GitLab环境

  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. 安装GitLab软件包
    curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
    sudo yum install gitlab-ce

    1695954007613

  3. 初始化GitLab配置sudo gitlab-ctl reconfigure
  4. 启动 gitlab 服务gitlab-ctl start
  5. 停止 gitlab 服务gitlab-ctl stop

宝塔安装GitLab环境

  1. centos安装宝塔脚本
    yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec
  2. 启动宝塔1695954509775
  3. 安装gitlab1695954597353

    1695954723803

  4. 解决 nginx 无法启用 冲突问题

    为了防止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
      gitlab-ctl start
  5. 修改访问地址

    如果未使用云服务器,需将外网地址修改为内网访问

    • 修改配置文件 gitlab.yml$vi /var/opt/gitlab/gitlab-rails/etc/gitlab.yml
      host: localhost
      port: 80
      https: false
      修改host值为你想使用的外网域名或服务器IP地址即可,保存退出。
    • 重启gitlabgitlab-ctl restart

      注意这里的命令是restart不是 reconfigure(根据配置文件/etc/gitlab/gitlab.rb 重新生成配置) ,否则还会恢复原来的配置。

  6. 访问配置gitlab 中文支持1695955727354

    1695955828549 1695955908735

    GitRunner

GitLab Runner 介绍

GitLab Runner是一个开源项目,用于运行您的作业并将结果发送回GitLab。它与GitLab CI一起使用,GitLab CI是GitLab随附的开源持续集成服务,用于协调作业。

工作原理

1695956558926

从上面图片中可以看到,具体的流程是:

  • Runner向/api/v4/runners发送POST请求,请求里带有注册Token
  • 注册成功后返回runner_token
  • Runner通过循环向/api/v4/rquest发送POST请求,请求里带上runner_token
  • 认证通过后接口返回带有任务信息的payload和任务相关的job_token
  • 然后将任务信息发送给执行器,执行器使用job_token来
  • 克隆所需的代码
  • 下载配置或组件
  • 执行器执行完成后,返回任务输出和任务状态信息
  • Runner向GitLab返回任务输出、任务状态以及job_token

安装GitRunner

1. docker安装GitLab Runner

官网地址: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

2. centos7下载rpm包快速安装

1.下载rpm包

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

选择与gitlab相近的版本

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

2.安装rpm包

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 (for example, https://gitlab.com/): ===>填gitlab的地址
  • Enter the registration token: ===> 填gitlab上注册runner时提示的token
  • Enter a description for the runner: ===>填写runner的描述(可为空)
  • Enter tags for the runner (comma-separated): ===> 填写runner的标签(后面需要用到,一般跟项目的名称一直)
  • Enter optional maintenance note for the runner: ===> 填写可维护说明(可为空)
  • Enter an executor: docker, docker-ssh, custom, parallels, shell, ssh, virtualbox, docker+machine, docker-ssh+machine, instance, kubernetes: ===>填写执行器,一般为shell

Runner注册具体操作方式到gitlab网站创建runner,获取相关信息注册

  1. 进入CICD1695957605068

    1695957666855

  2. 创建Runner1695957803804

     

  3. 生成地址url和 token, 注册runner1695957928761
  4. 安装其它软件安装汇智在线项目huizhi 需要的环境node、 npm、 git
    • 防止默认安装 git 1.x 版本sudo yum install https://packages.endpointdev.com/rhel/7/os/x86_64/endpoint-repo.x86_64.rpm -y
    • 安装 node 等yum install nodejs npm git -y
  5. 启用Runner1695958538642

     

     

5.gitlab-runner用户权限

近期需要迁服务,重新搭建自动化部署,并重新配置CICD脚本,在安装完gitlab-runner时,未将用户改为root,而导致流水线运行时报错,下面是异常现象:

原因分析:
当前用户没有权限访问,所以需要赋权限或者使用root账号,本文使用root账户

解决方案:

方式一:gitlab-runner修改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

方式二:gitlab-runner修改root权限

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

 

转载请注明来源:GitLab简介与安装
回复 取消