gitlib环境部署

     GitLab是利用 Ruby on Rails一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。

     Gitlab CE社区版完全开源免费,用来搭建自己专属的代码仓库,提供一个类似Github风格的web界面,还是很犀利的。

1、部署环境

使用了centos 6.3, 内核版本号2.6.32-358.6.2.el6.x86_64

(建议使用centos7部署,这里因条件限制,这里使用了centos6)

Gitlab 使用了gitlab-ce-8.8.4这个版本,不能最新版,只能稳定可用。

下载地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/

2、开始安装,

Gitlab CE集成安装包,集成了Nginx, postgresql。这里的邮件没有使用Postfix等邮件代理,直接使用126邮箱转发注册邮件。

yum install curl policycoreutils openssh-server openssh-clients
rpm -i gitlab-ce-8.8.4-ce.0.el6.x86_64.rpm

3、刷新配置

Gitlab-ctl reconfigure

4、开启服务

gitlab-ctl start|stop|restart|status

当服务运行起来后,就已经可以使用主机地址访问了,界面是这个样子的,还是相当清爽的,首次登录时会要求root用户更改密码。

QQ图片20160725094721.png

服务虽然已经运行了,但是还是使用了默认的配置,gitlab使用配套文件来对各种功能进行控制,比如邮件通知,数据库,nginx等等等

配置文件地址:/etc/gitlab/gitlab.rb

5、各配置项

 因为可以配置的项太多,不一一作说明,只对保证可用的项进行说明:

注:配置文件修改完成后,需要重新用gitlab-ctl reconfigure命令刷新配置

#gitlab仓库的访问地址
external_url 'http://*****.*****.com'

#邮件配置,在代码上传,权限变更,找回密码时发送通知邮件,这里偷懒使用了126邮件服务器转发
 gitlab_rails['gitlab_email_enabled'] = true
 gitlab_rails['gitlab_email_from'] = 'd564*dfd@126.com'
 gitlab_rails['gitlab_email_display_name'] = '543543***b'
 gitlab_rails['gitlab_email_reply_to'] = '6546**654@126com'
 
 gitlab_rails['smtp_enable'] = true
 gitlab_rails['smtp_address'] = "smtp.126.com"
 gitlab_rails['smtp_port'] = 25
 gitlab_rails['smtp_user_name'] = "55458**@126.com"       #126服务器的用户名是完整的邮件地址
 gitlab_rails['smtp_password'] = "254254****"
 gitlab_rails['smtp_domain'] = "126.com"
 gitlab_rails['smtp_authentication'] = "login"
 gitlab_rails['smtp_enable_starttls_auto'] = false
 gitlab_rails['smtp_openssl_verify_mode'] = 'peer'
#数据备份目录,这个后面马上就会用到
gitlab_rails['backup_path'] = "/path/gitlab-back"
#数据库存放目录
git_data_dir "/datapath/git-data"

Gitlab CE集成了nginx服务器和postgresql数据库,对于集成的nginx服务是否启用,是否单独连接mysql数据库等等等,都可以在gitlab.rb文件中设置的,信息量太大,不一一列举了

再说一次,配置文件修改完成后,需要重新用gitlab-ctl reconfigure命令刷新配置后,才能生效

6、数据备份和恢复

sudo gitlab-rake gitlab:backup:create SKIP=db  
#数据库备份成功后,会在配置文件中gitlab_rails['backup_path'] 项设置的文件夹中看到########_gitlab_backup.tar的 文件
#数据恢复
sudo gitlab-ctl stop                         #停用Gitlab 
sudo gitlab-rake gitlab:backup:restore BACKUP=########   #恢复备份 \backup后的数字为备份文件的前缀 
sudo gitlab-ctl start                         #重启 GitLab 
sudo gitlab-rake gitlab:check SANITIZE=true          #检查 GitLab状态

PS:WEB页面默认为英文,截图是汉化过的结果,汉化过程网上有教程;Gitlab的使用还是很容易上手的,多摸索几天就熟了

原创文章,作者:renjin,如若转载,请注明出处:http://www.178linux.com/81751

(0)
renjinrenjin
上一篇 2016-05-19 10:14
下一篇 2016-05-20 11:37

相关推荐

  • 磁盘管理、文件系统、挂载

    磁盘管理 一磁盘分区 磁盘分区有两种方式:MBR和GPT MBR:1)按照柱面进行分区;分区不超过2T 2)关于0磁道0扇区的前512bytes;其中的446bytes为boot loader;中间的64bytes装有分区表;2bytes为55AA 3)可分4个分区;3个主分区+1扩展(N个逻辑分区)扩展分区最多一个。 GPT分区:1)GUID patiti…

    Linux干货 2016-08-29
  • Linux udev-ASM(基于oracle5.8)

    之前有客户有在Linux下使用udev来做ASM,操作系统版本为oracle5.8,实际跟rhel5.8差不多,当时只是做了简单记录,现在整理下来,与大家一起分享。 1)需求信息 磁盘分区操作 –省略– 分区后,使用parted让磁盘生效 需求: 将/dev/sdc1 <–>/dev/asm-disk1 将/d…

    Linux干货 2016-07-29
  • 关于大型网站技术演进的思考(十四)–网站静态化处理—前后端分离—上(6)

    原文出处: 夏天的森林    前文讲到了CSI技术,这就说明网站静态化技术的讲述已经推进到了浏览器端了即真正到了web前端的范畴了,而时下web前端技术的前沿之一就是前后端 分离技术了,那么在这里网站静态化技术和前后端分离技术产生了交集,所以今天我将讨论下前后端分离技术,前后端分离技术讨论完后,下一篇文章我将会以网站 静态化技术…

    Linux干货 2015-03-11
  • N26-第五周

    1、显示当前系统上root、fedora或user1用户的默认shell; [root@localhost test]# cat /etc/passwd | grep -E “^(root|fedora|user1)\>” |cut -d: -f  1,7 root:/bin/bash user1:/bin/bash …

    Linux干货 2017-02-26
  • 在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件

    在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。 ~]# touch /tmp/tfile-$(date +%Y-%m-%d-%H-%M-%S) ~]# tree /tmp 查看输出结果 复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。 …

    Linux干货 2016-11-06
  • 系统基础之shell脚本编程详解2

    shell脚本编程2:   在上节我们介绍了shell脚本编程,但只是介绍了基础的内容,下面将为大家介绍shell的脚本的高级用法,判断与循环.判断分为两种:if语句和case语句;循环分为三种:for语句,while语句,until语句,select语句 判断语句:  在脚本的编写中,我们要使用大量的数据和命令,但对于使用的数据,我们要…

    Linux干货 2016-08-19