Gitlab-ce 12.3.5安装部署

1. Gitlab简介

https://about.gitlab.com/

GitLab是一个利用 [Ruby on Rails]开发的开源应用程序,实现一个自托管的[Git]项目仓库,可通过Web界面进行访问公开的或者私人项目。

它拥有与[Github]类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。

Gitlab 集群解决方案

image.png

2. Gitlab安装并配置

1.依赖环境
[root@cyw ~]# yum install -y curl openssh-server postfix wget

2.gitlab安装
[root@cyw ~]# yum localinstall https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.3.0-ce.0.el7.x86_64.rpm

3. 配置gitlab的url
[root@cyw ~]# vim /etc/gitlab/gitlab.rb
external_url 'http://gitlab.abc.com'

4. 配置gitlab的邮箱
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = "[email protected]"  # 发件邮箱
gitlab_rails['gitlab_email_display_name'] = 'cheng-GitLab' # 发件人

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "[email protected]" #发件人邮箱账户
gitlab_rails['smtp_password'] = "xxx"                  #发件人邮箱客户端授权码
gitlab_rails['smtp_domain'] = "qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true

5.关闭不用的程序【关闭或不关闭不重要,取决于你的内存】

1385 prometheus['enable'] = false
1474 node_exporter['enable'] = fals
1493 redis_exporter['enable'] = false
1511 postgres_exporter['enable'] = false
1560 grafana['enable'] = false

3. Gitlab初始化

第一次初始化时间较长,后期修改配置文件也需要初始化
[root@git ~]# gitlab-ctl reconfigure

[root@git ~]# gitlab-ctl status
[root@git ~]# gitlab-ctl start
[root@git ~]# gitlab-ctl stop
[root@git ~]# gitlab-ctl restart
[root@git ~]# gitlab-ctl stop nginx

4. 访问 http://gitlab.cyw.com

image.png
image.png

5. 验证邮箱功能是否可用

重新初始化后检查gitlab邮箱是否可正常使用

[root@gitlab ~]# gitlab-rails console
Notify.test_email('接收方邮件地址','邮件标题','邮件内容').deliver_now

Notify.test_email('[email protected]','gitlab-test','测试').deliver_now

6. Gitlab汉化

原生汉化,但不全,所以采用第三方的汉化补丁包 https://gitlab.com/xhang/gitlab

[root@cyw ~]# gitlab-ctl stop
[root@cyw ~]# wget https://gitlab.com/xhang/gitlab/-/archive/12-3-stable-zh/gitlab-12-3-stable-zh.tar.gz
[root@cyw ~]# \cp -r gitlab-12-3-stable-zh/* /opt/gitlab/embedded/service/gitlab-rails/

[root@cyw ~]# gitlab-ctl reconfigure
[root@cyw ~]# gitlab-ctl start

7. Gitlab日常使用

1.Gitlab中的用户、用户组、项目仓库之间的关系?
2.创建组、创建用户、创建项目?
3.验证用户、组、项目的相关权限?
4.如何将本地的本数据推送至gitlab的仓库? http方式、ssh方式?
5.如果有新成员需要加入该项目该怎么办?

1.如何导入已有项目

在这里插入图片描述

在这里插入图片描述

2.项目 用户 用户组 关系?

1.基于组创建项目
2.创建两个用户 linux  windows   加入dev组  , 分配权限  linux是所有者  windows是开发
3.使用linux系统关联linux用户,克隆项目,然后分别往master或dev分支提交代码测试
4.使用windows系统关联windows用户,克隆项目
    尝试修改dev分支内容,测试提交。
    尝试修改master分支内容。,尝试提交,如果不行
        1.尝试发起合并请求由linux用户审批,检查合并后的效果
        2.直接关闭该项目的分支保护,然后再次测试。

8. Git修改为ssh连接方式

[root@git gdx]# git remote -v
origin  http://gitlab.abc.com/dev/gdx.git (fetch)
origin  http://gitlab.abc.com/dev/gdx.git (push)

[root@git gdx]# git remote remove origin 
[root@git gdx]# git remote add origin [email protected]:dev/gdx.git

[root@git gdx]# git remote -v
origin  [email protected]:dev/gdx.git (fetch)
origin  [email protected]:dev/gdx.git (push)

9. Gitlab备份

  1. gitlab备份非常简单,就一条命令
gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
gitlab_rails['backup_keep_time'] = 604800

#初始化操作
gitlab-ctl reconfigure
  1. 执行备份命令,( 如果希望每天执行,使用shell脚本或定时任务都ok )
gitlab-rake gitlab:backup:create

默认路径
[root@git ~]# ls /var/opt/gitlab/backups/
1573549930_2019_11_12_12.0.3_gitlab_backup.tar

10. Gitlab恢复

#先停掉服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq

通过gitlab-rake命令进行恢复,恢复时需要指定此前备份的名称  (但不需要写git_lab_backup.tar后缀)

gitlab-rake gitlab:backup:restore BACKUP=1573549930_2019_11_12_12.0.3

最后启动所有gitlab的组件
gitlab-ctl start

11. Gitlab升级

一般建议不要跨越大版本
PS:12.0.3    --> 12.1.xx

12. Gitlab迁移

Gitlab备份与恢复、迁移和升级 https://www.xuliangwei.com/bgx/803.html

Gitlab服务优化:https://blog.csdn.net/ouyang_peng/article/details/84066417

你可能感兴趣的:(Gitlab-ce 12.3.5安装部署)