• ubuntu 下搭建gitLab


    1. 安装所需依赖
      sudo apt-get install curl openssh-server ca-certificates postfix

    2. 安装postfix的时候,需要进行一些选择,这里按默认选项(Internet Site),直接进行OK确认。然后填入自己的邮箱名,我这里填入localhost。

    3. 获取gitLab主程序
      (1). 通过官网获取
      curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash sudo apt-get install gitlab-ce
      (2). 由于官网速度慢,这里使用国内镜像
      a. vim打开文件/etc/apt/sources.list.d/gitlab-ce.list,加入资源信息(注意写入权限)
      deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu xenial main
      b. 信任 GitLab 的 GPG 公钥:
      curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - &>/dev/null
      c. 更新资源
      sudo apt-get update

    4. 安装 gitlab-ce
      sudo apt-get install gitlab-ce

    5. 配置gitLab
      sudo vim /etc/gitlab/gitlab.rb
      修改external_url为自己的IP地址或域名,添加nginx配置

      external_url "https://gitlab.example.com"
      
    6. 启动gitLab服务
      sudo gitlab-ctl reconfigure

    7. 502错误
      a. 查看nginx错误日志,日志文件根据nginx配置确定
      tail -f /var/log/gitlab/nginx/gitlab_error.log
      b. 查看unicorn日志
      sudo gitlab-ctl tail unicorn
      比如我遇到的错误信息为:

           E, [2017-11-06T14:30:01.403991 #23461] ERROR -- : worker=1 PID:23747 timeout (70s > 60s), killing
           E, [2017-11-06T14:30:10.308742 #23461] ERROR -- : reaped #<Process::Status: pid 23747 SIGKILL (signal 9)> worker=1
           E, [2017-11-06T14:30:10.805808 #23461] ERROR -- : worker=0 PID:23568 timeout (68s > 60s), killing
      

      明显是超时导致,因此修改unicorn配置:
      sudo vim /var/opt/gitlab/gitlab-rails/etc/unicorn.rb
      由于我的测试机只有2G内存,我又不想修改 timeout 60 的默认参数,因此我修改了进程数,将默认的2 改为 1 worker_processes 1
      重启gitlab
      sudo gitlab-ctl stop
      sudo gitlab-ctl start
      成功运行。这是临时测试方案,如果测试没问题就把unicorn配置写入/etc/gitlab/gitlab.rb
      sudo vim /etc/gitlab/gitlab.rb
      加入以下代码
      unicorn['worker_processes'] = 1
      重置gitlab配置
      sudo gitlab-ctl reconfigure

    8. 禁用gitlab自带的nginx
      a. sudo vim /etc/gitlab/gitlab.rb
      加入以下代码:
      nginx['enable'] = false
      重置gitlab配置
      sudo gitlab-ctl reconfigure
      b. 配置原有nginx,创建新文件gitlab.conf
      sudo vim /etc/nginx/sites-enabled/gitlab.conf
      引入gitlab的nginx配置
      include /var/opt/gitlab/nginx/conf/gitlab-http.conf;
      测试nginx配置(注意用户身份)
      /usr/sbin/nginx -t
      如果有错误,就根据错误提示修改 /var/opt/gitlab/nginx/conf/gitlab-http.conf 文件,没问题后重启nginx
      /usr/sbin/nginx -s reload

    9. 测试邮件发送
      进入控制台
      gitlab-rails console
      发送测试邮件
      Notify.test_email('xxxx@test.com','gitlabTest','This is a test email from gitlab').deliver_now

  • 相关阅读:
    jquery新知识
    jquery回顾
    Filter和Listener
    jsp,jstl,el
    cookie和session
    servlet和HTTP原理
    xml基本知识
    linux 相关操作
    linux mysql 相关操作、问题
    linux 文件结构
  • 原文地址:https://www.cnblogs.com/junly/p/7787433.html
Copyright © 2020-2023  润新知