本文章转载自:http://www.cnblogs.com/fanjingfeng/p/6665597.html

一, 服务器快速搭建gitlab方法

可以参考gitlab中文社区 的教程

centos7安装gitlab:https://www.gitlab.cc/downloads/#centos7

centos6安装gitlab:https://www.gitlab.cc/downloads/#centos6

如下方法按照官网来操作,手工安装过于麻烦。当前测试平台为小鸟云的三个月centos 7测试机.

1. 安装配置依赖项

如想使用Postfix来发送邮件,在安装期间请选择’Internet Site’. 您也可以用sendmai或者 配置SMTP服务使用SMTP发送邮件.在 Centos 6 和 7 系统上, 下面的命令将在系统防火墙里面开放HTTP和SSH端口.

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

这里可以自己yum 一个iptables做处理,一样的效果。 2. 添加GitLab仓库,并安装到服务器上

curl -sS http://packages.gitlab.cc/install/gitlab-ce/script.rpm.sh | sudo bash
sudo yum install gitlab-ce

如果你不习惯使用命令管道的安装方式, 你可以在这里下载 安装脚本 或者 手动下载您使用的系统相应的安装包(RPM/Deb) 然后安装

curl -LJO https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-XXX.rpm
rpm -i gitlab-ce-XXX.rpm

3. 启动GitLab

  1. sudo gitlab-ctl reconfigure

下边就可以访问了: 重置下密码。登录效果如下: 

注意事项以及异常故障排查:

1,按照该方式,我安装了一个确实没问题,只不过是英文版。没有经过汉化。

2,默认安装登录需要重置root密码。可以自己单独设置一个复杂密码后登录。

3,gitlab本身采用80端口,如安装前服务器有启用80,安装完访问会报错。需更改gitlab的默认端口。 修改vim /etc/gitlab/gitlab.rb: external_url ‘http://localhost:90’

4,unicorn本身采用8080端口,如安装前服务器有启用8080,安装完访问会报错。需更改unicorn的默认端口。 修改 /etc/gitlab/gitlab.rb: unicorn[‘listen’] = ‘127.0.0.1’ unicorn[‘port’] = 3000

5,每次重新配置,都需要执行sudo gitlab-ctl reconfigure  使之生效。

6,日志位置:/var/log/gitlab 可以进去查看访问日志以及报错日志等,供访问查看以及异常排查。 gitlab-ctl tail #查看所有日志 gitlab-ctl tail nginx/gitlab_access.log #查看nginx访问日志

二,gitlab中文汉化 1,需要下载汉化包,我们这里直接到去git一个。如果没安装git的请自行yum或apt-get 一个git。 比如我们现在到/usr/local/src,执行如下命令去git clone包:

  1. git clone https://github.com/larryli/gitlabhq.git

2,停止当前gitlab

  1. gitlab-ctl stop
  2. \cp /usr/local/src/gitlabhq/* /opt/gitlab/embedded/service/gitlab-rails/ -rf

其中有两个提示我们可以忽略: cp: cannot overwrite non-directory `/opt/gitlab/embedded/service/gitlab-rails/log’ with directory `./log’ cp: cannot overwrite non-directory `/opt/gitlab/embedded/service/gitlab-rails/tmp’ with directory `./tmp’ 好了,汉化完成,重新启动gitlab,汉化完成。

三,日常管理

gitlab-ctl start|stop|status|restart 比如查看状态:

    1. [root@21yunwei gitlab]# gitlab-ctl status
    2. run: gitlab-workhorse: (pid 19922) 665s; run: log: (pid 19159) 725s
    3. run: logrotate: (pid 19179) 723s; run: log: (pid 19178) 723s
    4. run: nginx: (pid 19166) 724s; run: log: (pid 19165) 724s
    5. run: postgresql: (pid 19026) 760s; run: log: (pid 19025) 760s
    6. run: redis: (pid 18943) 766s; run: log: (pid 18942) 766s
    7. run: sidekiq: (pid 19149) 732s; run: log: (pid 19148) 732s
    8. run: unicorn: (pid 20257) 642s; run: log: (pid 19116) 734s

四,启动日志

Recipe: gitlab::redis-exporter

* ruby_block[reload redis-exporter svlogd configuration] action create
- execute the ruby block reload redis-exporter svlogd configuration
Recipe: gitlab::prometheus
* service[prometheus] action restart
- restart service service[prometheus]
* ruby_block[reload prometheus svlogd configuration] action create
- execute the ruby block reload prometheus svlogd configuration
Recipe: gitlab::postgres-exporter
* service[postgres-exporter] action restart
- restart service service[postgres-exporter]
* ruby_block[reload postgres-exporter svlogd configuration] action create
- execute the ruby block reload postgres-exporter svlogd configuration

Running handlers:
Running handlers complete
Chef Client finished, 256/510 resources updated in 02 minutes 05 seconds
gitlab Reconfigured!

看到gitlab Reconfigured! 说明启动成功!

要是一直卡到ruby_block[supervise_redis_sleep] action run 运行一下命令

解决方案:

1、按住CTRL+C强制结束;

2、运行:sudo systemctl restart gitlab-runsvdir;

3、再次执行:sudo gitlab-ctl reconfigure

解决方案来源:https://gitlab.com/gitlab-org/omnibus-gitlab/issues/160

最新文章

  1. JavaWeb工程中web.xml基本配置
  2. js鼠标事件大全
  3. POJ1236 network of schools
  4. CMD执行BCP命令
  5. iOS:Size Classes的使用
  6. UVA 816 - Abbott's Revenge(BFS)
  7. linux mysql 卸载后重装
  8. sqlserver 连不上的问题
  9. ACM1997_汉诺栽塔VII
  10. 使用.netFx4.0提供的方法解决32位程序访问64位系统的64位注册表
  11. Spring+SpringMVC+MyBatis深入学习及搭建(一)——MyBatis的基础知识
  12. 内核对象 windows操作系统
  13. 阿里java开发手册中命名规约解读之DO/BO/DTO/VO/AO
  14. java函数式编程之Consumer
  15. 一个很适合初学者的selenium教程
  16. [ VB ] If 运算符 [ C# ] 条件运算符 (?:)
  17. 九、持久层框架(MyBatis)
  18. 20165228 2017-2018-2 《Java程序设计》第6周学习总结
  19. delphi 关于 "高位" 与 "低位"
  20. [原创]delphi一次性批量在TScrollBox中显示N个复选框TCheckBox的源码

热门文章

  1. 纳税服务系统【自动受理,Quartz任务调度】
  2. HDU 6092`Rikka with Subset 01背包变形
  3. CentOS7的一些初始化
  4. GCD之并行串行区别
  5. 分享基于分布式Http长连接框架--设计模型
  6. h5 meta学习
  7. PHP字符串函数-trim()实例用法
  8. 基于nginx的虚拟主机的配置
  9. Python二维数据分析
  10. java课程作业--动手动脑