layout: post
title: GitLab搭建
date: 2018-05-02
tags: [“jenkins”]


一、环境准备

宿主机需求:4G MEMROY (实测,最少2g内存,不能再少了)

官方强烈建议:安装Omnibus软件包,因为它安装更快,更容易升级,并且包含增强其他方法中未提供的可靠性的功能。我们还强烈推荐至少4GB的可用内存来运行GitLab。

https://about.gitlab.com/installation/#centos-7

二、安装

1、安装必须的依赖

  1. #必须打开ssh和http防火墙
  2. sudo yum install -y curl policycoreutils-python openssh-server
  3. sudo systemctl enable sshd
  4. sudo systemctl start sshd
  5. sudo firewall-cmd --permanent --add-service=http
  6. sudo systemctl reload firewalld
  7.  
  8. #安装Postfix发送通知邮件。如果想使用其他解决方案发送电子邮件,请跳过此步骤并在安装GitLab后配置外部SMTP服务器。
  9. sudo yum install postfix
  10. sudo systemctl enable postfix
  11. sudo systemctl start postfix

2、添加Gitlab的官网yum源

  1. #curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh ' sudo bash #这是ee的源,我们安装ce
  2. curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh ' sudo bash

3、接下来,安装GitLab软件包。将http:// gitlab.example.com更改为您想要访问您的GitLab实例的URL。安装将自动在该URL处配置并启动GitLab。安装后HTTPS需要额外的配置。

  1. #gitlab-ee在CE版基础上,增加LDAP等企业功能,收费的,这里我们安装ce
  2. #sudo EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ee
  3. sudo EXTERNAL_URL="http://192.168.8.121" yum install -y gitlab-ce

4、配置GitLab

  1. vim /etc/gitlab/gitlab.rb
  2.  
  3. #添加如下配置(默认只有external_url 'http://192.168.8.121'是非注释的,这个自行修改为子的外网地址或域名)
  4.  
  5. gitlab_rails['gitlab_email_from'] = 'zhangshangbj@163.com'
  6. gitlab_rails['incoming_email_host'] = "imap.163.com"
  7. gitlab_rails['incoming_email_port'] = 993
  8. gitlab_rails['incoming_email_ssl'] = true
  9. gitlab_rails['incoming_email_start_tls'] = true
  10. gitlab_rails['smtp_enable'] = true
  11. gitlab_rails['smtp_address'] = "smtp.163.com"
  12. gitlab_rails['smtp_port'] = 465
  13. gitlab_rails['smtp_user_name'] = "xxxxxx"
  14. gitlab_rails['smtp_password'] = "xxxxx"
  15. gitlab_rails['smtp_domain'] = "163.com"
  16. gitlab_rails['smtp_authentication'] = "login"
  17. gitlab_rails['smtp_enable_starttls_auto'] = true
  18. gitlab_rails['smtp_tls'] = true
  19. user['git_user_email'] = "zhangshangbj@163.com"

注意:使用tls和不使用tls smtp的端口使不一样的

5、启动GitLab

  1. #git命令
  2. gitlab-ctl start

注意:如果修改了已经配置好的gitlab配置文件,不能使用”gitlab-ctl restart” 而是使用gitlab-ctl reconfigure

6、通过浏览器访问GitLab

输入gitlab配置文件的”external_url”值即可。

第一次访问时,您将被重定向到密码重置屏幕。为初始管理员帐户提供密码,您将被重定向回登录屏幕。使用默认帐户的用户名root登录。

注意:密码需要8位

7、关闭用户注册功能

点击扳手(Admin area 不同的版本界面可能不同)

选择setting

选择Sing-up restrictions,取消Sign-up enabled选项

三、配置Gitlab的用户和仓库以便程序员上传代码

1、添加一个用户

点击创建

系统会发送邮件到指定的email,当创建的用户登录即可更新密码。

2、当gitlab的管理员账户密码忘记找回方式

  1. #切换至git用户
  2. [root@localhost ~]# su - git
  3.  
  4. #启动控制台
  5. -sh-4.2$ gitlab-rails console production
  6. Loading production environment (Rails 4.2.10)
  7.  
  8. #接下来使用user = User.where(id: 1).first,定位到id=1的用户,就是超级管理员
  9. irb(main):001:0> user = User.where(id:1).first
  10. => #
  11. #接下来为这个用户设置password
  12. irb(main):002:0> user.password='admin_git'
  13. => "admin_git"
  14. #保存退出
  15. irb(main):003:0> user.save
  16. Enqueued ActionMailer::DeliveryJob (Job ID: 23b419e7-353f-4b0b-8142-2e54cee544b4) to Sidekiq(mailers) with arguments: "DeviseMailer", "password_change", "deliver_now", gid://gitlab/User/1
  17. => true
  18. irb(main):004:0> quit

3、登录developer_account,配置仓库

在首页点击”create project”创建project

4、gitlab同样支持两种拉取方式:http和ssh


现在gitlab基本搭建完成,剩下一些额外的配置,下面继续讲。

文档更新时间: 2018-12-20 16:48   作者:张尚