PHP小白到大牛直播班+Linux服务器(前30名)
视频教程分类
推荐视频教程
  • php程序员小白到大牛三个月集训php程序员小白到大牛三个月集训
  • Laravel 9 学习正当时—保姆级教程,想学不会都难!Laravel 9 学习正当时—保姆级教程,想学不会都难!
  • 千万级数据并发解决方案(理论+实战)千万级数据并发解决方案(理论+实战)
  • Laravel基础与实战(模块化)Laravel基础与实战(模块化)
  • UNI-APP开发(仿饿了么)UNI-APP开发(仿饿了么)
  • 首页 >运维 >CentOS > 正文

    CentOS7如何搭建GitLab

    转载2021-07-02 14:10:571448 关注公众号:每天精选资源文章推送

    环境要求:内存至少4G,GitLab是很耗内存滴

    一、 安装并配置必要的依赖关系

    在 CentOS 系统上,下面的命令将会打开系统防火墙 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

    安装 Postfix ,用来发送邮件,在安装 Postfix 的过程中选择 'Internet Site'。

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

    也可以配置自定义的 SMTP 服务器。

    二、 添加 GitLab 镜像仓库并安装

    gitlab-ce 是社区版,免费
    gitlab-ee 是企业版,收费

    2.1 使用官方镜像安装

    $ curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
    
    $ sudo EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ce # 安装 GitLab

    2.2 使用国内镜像安装(推荐)

    如果提示连接超时,可以使用 清华大学开源软件镜像站:https://mirror.tuna.tsinghua....。
    进入该网站后,有详细的安装步骤,跟着安装即可。

    这里介绍一下在CentOS中使用 清华大学开源软件镜像站安装:
    先还原yum源, 删掉gitlab-ce源 :

    $ ls -l /etc/yum.repos.d/ # 查看源配置项
    $ mv /etc/yum.repos.d/gitlab_gitlab-ce.repo /etc/yum.repos.d/gitlab_gitlab-ce.repo.bak # 备份源配置项(也可以直接删除 rm)

    新建 /etc/yum.repos.d/gitlab-ce.repo,内容为

    [gitlab-ce]
    name=Gitlab CE Repository
    baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
    gpgcheck=0
    enabled=1

    再执行

    $ sudo yum makecache
    $ sudo yum install gitlab-ce

    安装完以后 /opt/gitlab/ 目录结构

    /opt/gitlab/
    ├── backups
    ├── git-data
    │   └── repositories
    │       └── root
    ├── gitlab-ci
    │   └── builds
    ├── gitlab-rails
    │   ├── etc
    │   ├── shared
    │   │   ├── artifacts
    │   │   ├── lfs-objects
    │   │   └── pages
    │   ├── sockets
    │   ├── tmp
    │   ├── upgrade-status
    │   ├── uploads
    │   └── working
    ├── gitlab-shell
    ├── gitlab-workhorse
    ├── logrotate
    │   └── logrotate.d
    ├── nginx
    │   ├── client_body_temp
    │   ├── conf
    │   ├── fastcgi_temp
    │   ├── logs -> /var/log/gitlab/nginx
    │   ├── proxy_cache
    │   ├── proxy_temp
    │   ├── scgi_temp
    │   └── uwsgi_temp
    ├── postgresql
    │   └── data
    │       ├── base
    │       │   ├── 1
    │       │   ├── 12918
    │       │   ├── 12923
    │       │   └── 16385
    │       ├── global
    │       ├── pg_clog
    │       ├── pg_multixact
    │       │   ├── members
    │       │   └── offsets
    │       ├── pg_notify
    │       ├── pg_serial
    │       ├── pg_snapshots
    │       ├── pg_stat_tmp
    │       ├── pg_subtrans
    │       ├── pg_tblspc
    │       ├── pg_twophase
    │       └── pg_xlog
    │           └── archive_status
    └── redis

    三、 配置并启动 GitLab

    启动命令

    $ sudo gitlab-ctl reconfigure # 首次启动也要用此命令。重新加载配置并启动
    $ sudo gitlab-ctl start # 启动
    $ sudo gitlab-ctl stop # 停止

    /etc/gitlab/ 目录结构:

    /etc/gitlab/
    ├── gitlab.rb
    ├── gitlab-secrets.json
    └── ssl
        └── trusted-certs

    gitLab基本配置集中在 /etc/gitlab/gitlab.rb 文件, 每个参数的作用和配置请参考官网的配置说明.
    配置参数:

    ### Advanced settings
    # unicorn['listen'] = 'localhost'
    # unicorn['port'] = 8090 #默认是8080端口
    
    
    nginx['listen_port'] = 8081  # gitlab nginx 端口。默认端口为:80 
    
    external_url 'http://192.168.137.129' # clone时显示的地址,gitlab 的域名

    配置:

    $ sudo gitlab-ctl stop # 先停止 GitLab 服务 
    $ vim /etc/gitlab/gitlab.rb # 修改配置文件

    进行任何改动后, 保存退出, 在命令行逐个输入以下命令使配置生效

    启动数据库, 不然 reconfigure 报错

    $ sudo gitlab-ctl restart postgresql
    $ sudo gitlab-ctl reconfigure
    $ sudo gitlab-ctl start

    四、访问

    系统默认的管理员账号为 root,第一次访问 GitLab,会要求初始化管理员账号的密码。

    五、端口冲突问题

    装好后,你会发现一个问题;gitlab 其实是个web;他自带了个nginx;如果你本身也是一台服务器的话,上面也会装有 apache 或者 nginx 等;那么端口就冲突了;

    更改gitlab自带nginx的默认端口即可

    六、卸载GitLab

    $ sudo gitlab-ctl stop # 停止
    $ sudo rpm -e gitlab-ce # 卸载
    $ ps aux | grep gitlab # 查看守护进程
    $ kill -9 18777 # 杀掉守护进程
    $ find / -name gitlab | xargs rm -rf # 删除所有包含gitlab的文件

    更多centos相关技术文章,请访问centos教程栏目!

    以上就是CentOS7如何搭建GitLab的详细内容,更多请关注php中文网其它相关文章!

    20期PHP线上班

    声明:本文转载于:segmentfault,如有侵犯,请联系admin@php.cn删除

  • 相关标签:gitlab centos7
  • 推荐:Linux视频教程零基础入门到精通

    相关文章

    相关视频


    专题推荐