CentOS安装GitLab

Gitlab是什么?
GitLab是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。
它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。
GitLab 5.0以前版本要求服务器端采用 Gitolite 搭建,5.0版本以后不再使用 Gitolite ,采用自己开发的 gitlab-shell 来实现。如果你觉得安装麻烦可以使用 GitLab Installers 一键安装程序。
Gitlab文档
gitlab英文官网: https://about.gitlab.com/
gitlab中文官网: https://www.gitlab.com.cn/
 
Gitlab安装注意事项
Gitlab有EE版和CE版,EE版是企业版,需要付费,这里安装的是CE版
官网提示, 我们强烈建议综合包安装是快速安装,容易升级,它包含的功能提高可靠性在其它方法无法发现。我们还强烈 推荐至少4GB的内存运行gitlab
 
 
1。安装和配置必要的依赖
 
CentOS 7 (and RedHat/Oracle/Scientific Linux 7),下面的命令将在系统防火墙打开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发送通知邮件。如果你想使用另一个解决方案来发送电子邮件,请跳过这一步配置外部SMTP服务器在gitlab已安装。
 
sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix
 
在安装配置的屏幕可能会出现后缀。选择" mail name"并回车。使用您的服务器的外部DNS名称“邮件”然后回车。如果额外的屏幕出现,继续按回车接受默认值。
 
2。添加gitlab包库安装包
 
添加gitlab仓库,并安装到服务器上 
 
 
下一步,安装gitlab包。 HTTPS协议的要求额外的配置安装后。
sudo yum install -y gitlab-ce
 
需要下载安装包,安装过程中需要消耗点时间
 
安装成功
 
3.配置并启动GitLab
    
3.1设置配置
sudo gitlab-ctl reconfigure
设置配置时间比较长,用了6分39秒
 
3.2 修改gitlab配置文件指定服务器IP和端口
vim /etc/gitlab/gitlab.rb
设置url
设置监听端口
设置防火墙
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
重新配置
sudo gitlab-ctl reconfigure
操作gitlab命令
sudo gitlab-ctl start #启动
sudo gitlab-ctl stop #停止
sudo gitlab-ctl restart #重启
sudo gitlab-ctl status #查看状态
sudo gitlab-ctl tail #查看日志
 
4.处理502错误的方案
如果出现502的错误,那可能是端口的占用,导致启动不了应用。
经过查看,我这里开启了一个tomcat服务,占用了8080端口,使GitLab的unicorn服务不能开启。unicorn是ruby的http server,可以通过 http://localhost:8080端口访问。
我这里修改成了8889,并在防火墙开放这个端口。
然后重新编译 ,以及启动 访问: http://192.168.2.14:8888/
5.初次登录、修改初始密码
访问:http://192.168.2.14
第一次登录,需要重置密码:
效果:
我这里设置 abc123ABC123 ,其他可以设置其他密码,设置完毕后,需要重新登录  ,默认超级管理员帐户 root
 
登录成功,恭喜您,可以在gitlab上进行下一步操作了。
 
6.安装汉化补丁
 
参考资料:
 
 
7.docker安装
docker pull twang2218/gitlab-ce-zh:11.1.4
 
 
8.docker-compose安装 启动
docker-compose.yml
version: '3.7'
services:
    gitlab:
      image: 'twang2218/gitlab-ce-zh:11.1.4'
      restart: always
      environment:
        TZ: 'Asia/Shanghai'
        GITLAB_OMNIBUS_CONFIG: |
          external_url 'http://gitlab.ngc.com'
          gitlab_rails['time_zone'] = 'Asia/Shanghai'
          gitlab_rails['gitlab_shell_ssh_port'] = 2222
      ports:
        - '80:80'
        - '8443:443'
        - '2222:22'
      volumes:
        - '/home/gitlab/config:/etc/gitlab'
        - '/home/gitlab/data:/var/opt/gitlab'
        - '/home/gitlab/logs:/var/log/gitlab'
 
启动:
docker-compose up -d
docker-compose logs
 
9.接入LDAP认证
修改config/gitlab.rb文件
 
 
gitlab_rails['ldap_enabled'] = true
 
 
###! **remember to close this block with 'EOS' below**
gitlab_rails['ldap_servers'] = YAML.load <<-'EOS'
   main: # 'main' is the GitLab 'provider ID' of this LDAP server
     label: 'LDAP'
     host: '192.168.2.8' #由于是docker中,所有要填宿主机ip
     port: 389
     uid: 'cn' # 这里是个很坑的地方,在这里,用的是ldap的uid字段作为用户登录名,所以直接写了uid,换句话说,冒号前面的uid跟ldap不是一个意思的。
     bind_dn: 'cn=Manager,dc=***,dc=com'
     password: '*******'
     encryption: 'plain' # "start_tls" or "simple_tls" or "plain"
     verify_certificates: false  # 如果用的证书是自签名的,那么这里需要设置为false以保证不会出现服务器证书验证错误。
     active_directory: false  # 我用的slapd,如果用微软的ad,这里需要设置为true
     allow_username_or_email_login: false
     lowercase_usernames: false
     block_auto_created_users: false
     base: 'dc=***,dc=com'  # 这里设置用户名查找位置
     user_filter: ''
     ## EE only
     group_base: ''
     admin_group: ''
     sync_ssh_keys: false
EOS
 
重新启动docker容器
uid读取:
 
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值