美文网首页
基于CentOS7的GitLab搭建与配置

基于CentOS7的GitLab搭建与配置

作者: 断忆残缘 | 来源:发表于2017-06-22 20:57 被阅读3528次

    前言

    最近闲来无事,公司的web端总是出现胡乱push的现象:

    比如:乱pushmaster上,然后又需要git reset --hard,导致了其他人的本地分支比远端超前,然后又各种git branch -D,总体来讲不太安全吧。

    试想:如果可以分支保护那就简单多了,被保护的分支只有有权限的人可以push,那问题不就解决了么?

    GitLab
    记得上一家公司的服务器搭建的还挺好用的,自我感觉优势如下:

    • 支持类似于github那样强大而又简单的UI交互型操作
    • 支持安装包部署在自己服务器上,安全、开源,并且免费
    • 支持邮件服务
    • 支持分支保护等等

    以上仅仅是本人总结

    说了这么多,那我们赶紧开始吧,不过这只是我的初步学习,后期会持续更新。

    正文

    1. SSH连接CentOS服务器

    /**
     root 【用户名】
    192.168.1.1 【IP地址】
    */
    ssh root@192.168.1.1 
    
    • 如果之前配置过ssh密钥,直接连接,没有配置的话,输入对应用户的(示例中为root)的密码
    • 说明:本人目前是iOS开发者,对连接服务器一窍不通,所以讲的略微详细,还望勿怪。

    2. Update yum

    yum update
    
    • yum:开源包管理工具,类似于brew,ruby

    3. 安装并配置必要的依赖

    sudo yum install curl policycoreutils openssh-server openssh-clients 
    sudo systemctl enable sshd 
    sudo systemctl start sshd 
    sudo yum install postfix 
    sudo systemctl enable postfix 
    sudo systemctl start postfix 
    sudo firewall-cmd --permanent --add-service=http 
    sudo systemctl reload firewalld 
    
    
    • 解释说明,一共配置三个依赖:
      • 安装配置ssh
      • 安装配置postfix,用于邮件通知
      • 配置防火墙

    4. 添加GitLab包服务器并安装包

    curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash 
    sudo yum install gitlab-ce 
    
    
    • 下载包时间比较长,印象大小是300M+

    5. GitLab 基本配置

    GitLab 的相关参数配置都存在 /etc/gitlab/gitlab.rb 文件里,每次配置完成之后需要执行gitlab-ctl reconfigure,进行重新配置才能生效。

    • 进入编辑gitlab.rb文件
    vi /etc/gitlab/gitlab.rb
    
    
    • 执行修改的配置
    sudo gitlab-ctl reconfigure
    
    
    • 注意事项:
    • 如果中间出现“红色”error,那可能执行失败。
    • 默认配置前面有“#”,是被注释的,需要删除最前面的“#”
    5.1 配置URL

    打开 /etc/gitlab/gitlab.rb 配置文件,修改 external_url 'http://ip_address'external_url 'http://ip_address:new-port'

    
    external_url 'http://ip_address:new-port'
    
    • 注意事项
    • 如果有域名,填入域名也行,没有域名,填入IP地址即可
    • 若要生效,需要退出vi编辑,执行sudo gitlab-ctl reconfigure命令,下面配置一样,接下来不再重复
    5.2 SMTP邮箱配置

    官方SMTP邮箱配置-中文版

    以下是 163 邮箱的配置参考(其他邮箱可以参照上面的官方示例)

    gitlab_rails['smtp_enable'] = true 
    gitlab_rails['smtp_address'] = "smtp.163.com"
    gitlab_rails['smtp_port'] = 25
    gitlab_rails['smtp_user_name'] = "test@163.com" //需要自行修改
    gitlab_rails['smtp_password'] = "password" //需要自行修改
    gitlab_rails['smtp_authentication'] = "login"
    gitlab_rails['smtp_enable_starttls_auto'] = true
    gitlab_rails['gitlab_email_from'] = "test@163.com" // 必须与上面的邮箱一样
    
    • 注意事项
    • 邮箱需要开启 SMTP 协议
    5.3 头像配置

    GitLab 默认使用的是 Gravatar 头像服务,不过现在貌似 Gravatar 国内好像访问不了,导致 GitLab 默认头像破裂,无法显示,可以替换为多说 Gravatar 服务器。打开 /etc/gitlab/gitlab.rb 配置文件,修改gitlab_rails['gravatar_plain_url']

    gitlab_rails['gravatar_plain_url'] = 'http://gravatar.duoshuo.com/avatar/%{hash}?s=%{size}&d=identicon'
    

    再分别执行以下命令即可

    gitlab-ctl reconfigure 
    gitlab-rake cache:clear RAILS_ENV=production
    
    

    6. Web初始化设置

    在自己的电脑上,打开浏览器。输入刚才配置URL,刚进去设置root的用户名和密码。

    登陆root后,增加group,project,member。

    到此为止,完成部署,可以尽情的享受gitlab带来的畅快体验。

    • 说明:本教程中不包含为GitLab增加汉化包,想要汉化的朋友自己Google吧,本人认为学好英语对于一个程序员来讲真的很重要,就不说三遍了。

    说明

    • 本文会随着本人的深入学习持续更新。
    • 如果有想法,及时提出,欢迎指正和交流。

    相关文章

      网友评论

          本文标题:基于CentOS7的GitLab搭建与配置

          本文链接:https://www.haomeiwen.com/subject/jrvfcxtx.html