Red Hat 6.x 搭建 Gitlab10.1.14 (1)

来源:互联网 发布:录音软件官方下载 编辑:程序博客网 时间:2024/05/29 09:44

gitlab与github

  • github

    一个网站,提供给用户空间创建git仓储,保存用户的一些数据文档或者代码等 
    GitHub可以托管各种git库,并提供一个web界面,但与其它像 SourceForge或Google Code这样的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。为一个项目贡献代码非常简单:首先点击项目站点的“fork”的按钮,然后将代码检出并将修改加入到刚才分出的代码库中,最后通过内建的“pull request”机制向项目负责人申请代码合并 
    github可以使用git安装自己的服务器,但是没有提供web界面进行操作

  • gitlab

    GitLab 包括git仓库管理,代码审查,问题跟踪,Wiki等 更多功能. GitLab搭配GitLab CI,能更简单的实现持续集成和自动部署,可完美运行在你自己的基础服务器,社区版本完全免费。 
    搭建好的gitlab提供了web界面,可以进行各种操作

gitlab安装

使用rpm方式安装,数据库默认采用PostgreSQL,服务器默认采用Nginx

  • 安装之前的准备

    sudo yum install curl openssh-server postfix cronie 用来在指定时间或周期性的执行一个指定命令。系统很多默认需要周期性执行的任务都是通过crond实现的。 
    sudo service postfix start 邮件服务器 
    sudo chkconfig postfix on 邮件 
    sudo lokkit -s http -s ssh 修改防火墙 。避免用户通过ssh方式和http来访问

  • 获取安装包进行安装

    curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash (配置yum源) 
    sudo yum install gitlab-ce

  • 配置访问地址

    打开/etc/gitlab/gitlab.rb,将external_url = 'http://git.example.com'修改为自己的IP地址:http://xxx.xx.xxx.xx,,然后执行下面的命令,对GitLab进行编译

  • 配置文件

    /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml 
    /opt/gitlab/embedded/service/gitlab-shell/config.yml

  • 安装好后初始化和启动(重启命令)

    sudo gitlab-ctl reconfigure

  • 访问主页

    localhost:80 
    Username: root 
    Password: 5iveL!fe

  • 注意 
    以上安装好后,会修改/etc/sysconfig/iptables防火墙文件,并且会安装数据库,修改yum配置文件等,所以需要重新设定以上内容

gitlab安装问题

参考:http://segmentfault.com/a/1190000002722631

  • 在浏览器中访问GitLab出现502错误

    原因:内存不足 
    解决办法:检查系统的虚拟内存是否随机启动了,如果系统无虚拟内存,则增加虚拟内存,再重新启动系统

    1. free -m 查看内存状态
    2. df -B M(或df -m) 查看各分区当前使用情况
    3. dd if=/dev/zero of=/swapadd bs=1024 count=524288 在根目录新建一个名为swapadd,大小为512M的虚拟内存文件
    4. mkdir /mnt/swap 
      mv swapadd /mnt/swap 
      移动该文件到空间较大的其他分区:
    5. mkswap /mnt/swap/swapadd 
      reboot 
      启用虚拟内存并重启系统
  • 80端口冲突

    原因:Nginx默认使用了80端口 
    解决办法:为了使Nginx与Apache能够共存,并且为了简化GitLab的URL地址,Nginx端口保持不变,修改Apache的端口为4040。这样就可以直接用使用ip访问Gitlab。而禅道则可以使用4040端口进行访问,像这样:xxx.xx.xxx.xx:4040/zentao。具体修改的地方在/etc/httpd/conf/httpd.conf这个文件中,找到Listen 80这一句并将之注释掉,在底下添加一句Listen 4040,保存后执行service httpd restart重启apache服务即可。

  • 8080端口冲突

    原因:由于unicorn默认使用的是8080端口。 
    解决办法:打开/etc/gitlab/gitlab.rb,打开# unicorn['port'] = 8080的注释,将8080修改为9090,保存后运行sudo gitlab-ctl reconfigure即可。

  • GitLab头像无法正常显示

    原因:gravatar被墙 
    解决办法: 
    编辑 /etc/gitlab/gitlab.rb 将 
    gitlab_rails['gravatar_plain_url'] = 'http://gravatar.duoshuo.com/avatar/%{hash}?s=%{size}&d=identicon' 
    修改为 
    gitlab_rails['gravatar_plain_url'] = 'http://gravatar.duoshuo.com/avatar/%{hash}?s=%{size}&d=identicon' 
    然后在命令行执行: 
    sudo gitlab-ctl reconfigure 
    sudo gitlab-rake cache:clear RAILS_ENV=production

gitlab管理

参考 http://blog.csdn.net/fbysss/article/details/44085961

  • nginx管理 
    1. 配置文件 
      gitlab安装好后默认安装了nginx,配置文件在 
      /var/opt/gitlab/nginx/conf/gitlab-http.conf 
      中,可以看到端口80设置 ,这个文件是被nginx.conf文件所include的,决定了gitlab对外提供服务的端口号。 
    2. 查看进程 
      ps aux |grep nginx

postfix邮件服务器设置

gitlab默认使用pistfix邮件服务,只要开启服务即可,无需配置

  • 参考文档

    http://blog.csdn.net/hitabc141592/article/details/25986911

  • 重启邮件服务

  1. service postfix restart
  • 发送邮件测试:
  1. echo "Mail Content" | mail -s "Mail Subject" xxxx@xxx.com
  • 查看日志
  1. tail /var/log/maillog
  • 启动关闭
  1. 1.启动Postfix服务
  2. 启动Postfix服务的命令为:
  3. /etc/init.d/postfix start
  4. 2.停止Postfix服务
  5. 停止Postfix服务的命令为:
  6. /etc/init.d/postfix stop
  7. 3.重新启动Postfix服务
  8. 重新启动Postfix服务的命令为:
  9. /etc/init.d/postfix restart
  10. 4.重新载入Postfix主配置文件
  11. 重新载入Postfix主配置文件的命令为:
  12. /etc/init.d/postfix reload
原创粉丝点击