前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >安装并配置gitlab

安装并配置gitlab

作者头像
kevinfaith
发布2020-01-21 10:32:31
2.7K0
发布2020-01-21 10:32:31
举报
文章被收录于专栏:kevin-blogkevin-blog
简介

GitLab是利用 Ruby on Rails 一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。

它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。

团队成员可以利用内置的简单聊天程序(Wall)进行交流。

它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。

GitLab分为社区版和企业版。企业版是要钱的、社区版是免费的,不但能建立免费的私有仓库而且没有数量上限,参与人员也没有数量限制,还能设置成员的权限,甚至细致到具体某条分支的权限,以及强大的工作流等等。 所以我这里是安装的社区版

安装

安装社区版,GitLab CE 版本:11.3.13 安装一些必要的依赖:

sudo yum install -y curl policycoreutils-python openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd
sudo firewall-cmd --permanent --add-service=http
sudo systemctl reload firewalld
安装gitlab
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
sudo yum install gitlab-ce-11.3.13-ce.0.el7.x86_64
配置域名访问
vi /etc/gitlab/gitlab.rb
external_url 'http://gitlab.kevin.com'  //修改成你的域名
启动gitlab,并使配置生效
gitlab-ctl reconfigure
gitlab-ctl start

添加dns解析,使你能通过域名解析到gitlab的地址

使用浏览器访问
http://gitlab.kevin.com 

首次访问GitLab,系统会让你重新设置管理员的密码,设置成功后会返回登录界面. 默认的管理员账号是root,如果你想更改默认管理员账号,请输入上面设置的新密码登录系统后修改帐号名.

配置SMTP邮箱

如果您不喜欢使用自带的sendmail服务收发邮箱,希望通过SMTP服务器而不是通过Sendmail发送应用程序电子邮件,请将以下配置信息添加到 /etc/gitlab/gitlab.rb并运行gitlab-ctl reconfigure。

vi /etc/gitlab/gitlab.rb
#添加
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "xxxx@xx.com"
gitlab_rails['smtp_password'] = "password"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = 'xxxx@xx.com'
gitlab_rails['smtp_domain'] = "exmail.qq.com"

以上是腾讯企业邮箱的配置文件,如果你用的是169或者gmail之类的邮箱,你可以查看官方的配置文件进行对应的修改。 配置完成以后

测试邮箱是否配置成功
gitlab-rails console  //进入控制台
irb(main):002:0>Notify.test_email('xx@qq.com', '邮件标题', '邮件正题').deliver_now
gitlab-ctl reconfigure    //使配置生效
gitlab-ctl restart   //重启

查看是否收到测试邮箱

补充

也是我的笔记

gitlab的服务安装位置
主配置文件: /etc/gitlab/gitlab.rb
GitLab 文档根目录: /opt/gitlab
默认存储库位置: /var/opt/gitlab/git-data/repositories
GitLab Nginx 配置文件路径:  /var/opt/gitlab/nginx/conf/gitlab-http.conf
Postgresql 数据目录: /var/opt/gitlab/postgresql/data
GitLab由以下服务构成
nginx: 静态web服务器
gitlab-shell: 用于处理Git命令和修改authorized keys列表
gitlab-workhorse: 轻量级的反向代理服务器
logrotate:日志文件管理工具
postgresql:数据库
redis:缓存数据库
sidekiq:用于在后台执行队列任务(异步执行)
unicorn:An HTTP server for Rack applications,GitLab Rails应用是托管在这个服务器上面的。
常用命令
# 查看版本
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
# 检查gitlab
gitlab-rake gitlab:check SANITIZE=true --trace
# 实时查看日志
gitlab-ctl tail
# 数据库关系升级
gitlab-rake db:migrate
# 清理redis缓存
gitlab-rake cache:clear
# 升级GitLab-ce 版本
yum update gitlab-ce
# 升级PostgreSQL最新版本
gitlab-ctl pg-upgrade
# 启动所有 gitlab 组件:
gitlab-ctl start
# 停止所有 gitlab 组件:
gitlab-ctl stop
# 停止所有 gitlab postgresql 组件:
gitlab-ctl stop postgresql
# 停止相关数据连接服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
# 重启所有 gitlab 组件:
gitlab-ctl restart
# 重启所有 gitlab gitlab-workhorse 组件:
gitlab-ctl restart  gitlab-workhorse
# 查看服务状态
gitlab-ctl status
# 生成配置并启动服务
gitlab-ctl reconfigure 
日志
# 实时查看所有日志
gitlab-ctl tail
# 实时检查redis的日志
gitlab-ctl tail redis

# 实时检查postgresql的日志
gitlab-ctl tail postgresql

# 检查gitlab-workhorse的日志
gitlab-ctl tail gitlab-workhorse

# 检查logrotate的日志
gitlab-ctl tail logrotate

# 检查nginx的日志
gitlab-ctl tail nginx

# 检查sidekiq的日志
gitlab-ctl tail sidekiq

# 检查unicorn的日志
gitlab-ctl tail unicorn
gitlab的备份
备份

修改/etc/gitlab/gitlab.rb: 找到gitlab_rails['backup_path'] = '/data/backups' 后面的路径是备份文件的路径 删除前面的#

gitlab-ctl reconfigure
备份命令
gitlab-rake gitlab:backup:create

该命令会在备份目录(默认:/var/opt/gitlab/backups/)下创建一个tar压缩包xxxxxxxx_gitlab_backup.tar,其中开头的xxxxxx是备份创建的时间戳,这个压缩包包括GitLab整个的完整部分。

恢复
# 停止相关数据连接服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
# 指定恢复文件,会自动去备份目录找。确保备份目录中有这个文件。
# 指定文件名的格式类似:1499242399_2017_07_05_9.2.6,程序会自动在文件名后补    上:“_gitlab_backup.tar”
# 一定按这样的格式指定,否则会出现 The backup file does not exist! 的错误
gitlab-rake gitlab:backup:restore BACKUP=1499242399_2017_07_05_9.2.6
# 启动Gitlab
gitlab-ctl start
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-12-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 安装
    • 安装gitlab
      • 配置域名访问
        • 启动gitlab,并使配置生效
          • 使用浏览器访问
            • 配置SMTP邮箱
              • 测试邮箱是否配置成功
              • 补充
                • gitlab的服务安装位置
                  • GitLab由以下服务构成
                  • 常用命令
                  • 日志
                  • gitlab的备份
                    • 备份
                      • 备份命令
                        • 恢复
                        相关产品与服务
                        访问管理
                        访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档