layout: post
title: GitLab搭建
date: 2018-05-02
tags: [“jenkins”]
一、环境准备
宿主机需求:4G MEMROY (实测,最少2g内存,不能再少了)
官方强烈建议:安装Omnibus软件包,因为它安装更快,更容易升级,并且包含增强其他方法中未提供的可靠性的功能。我们还强烈推荐至少4GB的可用内存来运行GitLab。
https://about.gitlab.com/installation/#centos-7
二、安装
1、安装必须的依赖
- #必须打开ssh和http防火墙
- 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发送通知邮件。如果想使用其他解决方案发送电子邮件,请跳过此步骤并在安装GitLab后配置外部SMTP服务器。
- sudo yum install postfix
- sudo systemctl enable postfix
- sudo systemctl start postfix
2、添加Gitlab的官网yum源
- #curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh ' sudo bash #这是ee的源,我们安装ce
- 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需要额外的配置。
- #gitlab-ee在CE版基础上,增加LDAP等企业功能,收费的,这里我们安装ce
- #sudo EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ee
- sudo EXTERNAL_URL="http://192.168.8.121" yum install -y gitlab-ce
4、配置GitLab
- vim /etc/gitlab/gitlab.rb
- #添加如下配置(默认只有external_url 'http://192.168.8.121'是非注释的,这个自行修改为子的外网地址或域名)
- gitlab_rails['gitlab_email_from'] = 'zhangshangbj@163.com'
- gitlab_rails['incoming_email_host'] = "imap.163.com"
- gitlab_rails['incoming_email_port'] = 993
- gitlab_rails['incoming_email_ssl'] = true
- gitlab_rails['incoming_email_start_tls'] = true
- gitlab_rails['smtp_enable'] = true
- gitlab_rails['smtp_address'] = "smtp.163.com"
- gitlab_rails['smtp_port'] = 465
- gitlab_rails['smtp_user_name'] = "xxxxxx"
- gitlab_rails['smtp_password'] = "xxxxx"
- gitlab_rails['smtp_domain'] = "163.com"
- gitlab_rails['smtp_authentication'] = "login"
- gitlab_rails['smtp_enable_starttls_auto'] = true
- gitlab_rails['smtp_tls'] = true
- user['git_user_email'] = "zhangshangbj@163.com"
注意:使用tls和不使用tls smtp的端口使不一样的
5、启动GitLab
- #git命令
- 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的管理员账户密码忘记找回方式
- #切换至git用户
- [root@localhost ~]# su - git
- #启动控制台
- -sh-4.2$ gitlab-rails console production
- Loading production environment (Rails 4.2.10)
- #接下来使用user = User.where(id: 1).first,定位到id=1的用户,就是超级管理员
- irb(main):001:0> user = User.where(id:1).first
- => #
#接下来为这个用户设置password irb(main):002:0> user.password='admin_git' => "admin_git" #保存退出 irb(main):003:0> user.save Enqueued ActionMailer::DeliveryJob (Job ID: 23b419e7-353f-4b0b-8142-2e54cee544b4) to Sidekiq(mailers) with arguments: "DeviseMailer", "password_change", "deliver_now", gid://gitlab/User/1 => true irb(main):004:0> quit
3、登录developer_account,配置仓库
在首页点击”create project”创建project
4、gitlab同样支持两种拉取方式:http和ssh
现在gitlab基本搭建完成,剩下一些额外的配置,下面继续讲。