阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Linux基础教程之Gitlab代码管理仓库安装部署

71次阅读
没有评论

共计 2370 个字符,预计需要花费 6 分钟才能阅读完成。

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 用户更改密码。

Linux 基础教程之 Gitlab 代码管理仓库安装部署

服务虽然已经运行了,但是还是使用了默认的配置,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 的使用还是很容易上手的,多摸索几天就熟了

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-12-03发表,共计2370字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中