重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
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邮箱转发注册邮件。
1 2 | yum install curl policycoreutils openssh-server openssh-clients rpm -i gitlab-ce-8.8.4-ce.0.el6.x86_64.rpm |
3、刷新配置
1 | Gitlab-ctl reconfigure |
4、开启服务
1 | gitlab-ctl start|stop|restart|status |
当服务运行起来后,就已经可以使用主机地址访问了,界面是这个样子的,还是相当清爽的,首次登录时会要求root用户更改密码。
服务虽然已经运行了,但是还是使用了默认的配置,gitlab使用配套文件来对各种功能进行控制,比如邮件通知,数据库,nginx等等等
配置文件地址:/etc/gitlab/gitlab.rb
5、各配置项
因为可以配置的项太多,不一一作说明,只对保证可用的项进行说明:
注:配置文件修改完成后,需要重新用gitlab-ctl reconfigure命令刷新配置
1 2 | #gitlab仓库的访问地址 external_url 'http://*****.*****.com' |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #邮件配置,在代码上传,权限变更,找回密码时发送通知邮件,这里偷懒使用了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' |
1 2 | #数据备份目录,这个后面马上就会用到 gitlab_rails[ 'backup_path' ] = "/path/gitlab-back" |
1 2 | #数据库存放目录 git_data_dir "/datapath/git-data" |
Gitlab CE集成了nginx服务器和postgresql数据库,对于集成的nginx服务是否启用,是否单独连接MySQL数据库等等等,都可以在gitlab.rb文件中设置的,信息量太大,不一一列举了
再说一次,配置文件修改完成后,需要重新用gitlab-ctl reconfigure命令刷新配置后,才能生效
6、数据备份和恢复
1 2 | sudo gitlab-rake gitlab:backup:create SKIP=db #数据库备份成功后,会在配置文件中gitlab_rails['backup_path'] 项设置的文件夹中看到########_gitlab_backup.tar的 文件 |
1 2 3 4 5 | #数据恢复 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的使用还是很容易上手的,多摸索几天就熟了