从代码私有性方面来看,公司不希望员工获取到全部的代码,这个时候 GitLab 无疑是最佳的选择。
但对于开源项目而言,GitHub 依然是代码托管的首选平台。

1.安装gitlab
[root@gitlab ~]# yum install -y curl policycoreutils-python openssh-server postfix wget
[root@gitlab ~]# yum localinstall gitlab-ce-12.0.3-ce.0.el7.x86_64.rpm -y

2.配置gitlab

配置访问gitlab的url
        external_url 'http://gitlab.oldxx.com'
        
        
    配置邮箱 (注册用户,忘记密码等)
        gitlab_rails['gitlab_email_enabled'] = true
        gitlab_rails['gitlab_email_from'] = ""  # 发件邮箱
        gitlab_rails['gitlab_email_display_name'] = 'Oldxx-GitLab' # 发件人显示名称

gitlab_rails['smtp_enable'] = true
        gitlab_rails['smtp_address'] = "smtp.qq.com"
        gitlab_rails['smtp_port'] = 465
        gitlab_rails['smtp_user_name'] = "" #发件人邮箱账户
        gitlab_rails['smtp_password'] = ""  #发件人邮箱客户端授权码
        gitlab_rails['smtp_domain'] = "qq.com"
        gitlab_rails['smtp_authentication'] = "login"
        gitlab_rails['smtp_enable_starttls_auto'] = true
        gitlab_rails['smtp_tls'] = true
    
    关闭Prometheus  监控 (吃内存)
        1385 prometheus['enable'] = false
    
    
3.初始化gitlab
    gitlab-ctl reconfigure
    
4.配置Host解析

5.设定gitlab  root超级管理员密码

6.登录gitlab系统后,测试邮箱是否正常 (也可以不测试)
    [root@gitlab gitlab]# gitlab-rails console
    irb(main):011:0> Notify.test_email('123@qq.com','gitlab-test','dsb').deliver_now

收件人                主题        内容

用户  组  仓库 之间的关系?
    1.创建组 dev
    2.使用dev组的身份创建一个treenb的项目
    3.创建用户, old小王 old小李 old蒙
    4.将old小王和old小李加入dev组  分配权限  old小王管理人员  old小李开发人员
    5.验证身份权限    old小王 old小李  old蒙 (登录用户看看是否能看到项目即可)
    6.使用root的身份创建一个公开的项目
        验证: old小王 old小李  old蒙是否能看见.

gitlab基本使用:   ssh
    1.新建一个项目
    2.准备两个用户  oldxu  oldqiang
    3.oldxu提交代码
    4.oldqiang拉取代码 --->提交--->oldxu拉取
    git clone git@gitlab.oldxu.com:dev/dsb.git
    cd dsb
    echo "dsb-oldxu" >> README.md
    git add README.md
    git commit -m "add README"
    git push -u origin master
!!!gitlab备份和恢复?

备份
    1.变更gitlab的备份路径,以及备份的保留时长
        [root@gitlab ~]# vim /etc/gitlab/gitlab.rb
        gitlab_rails['backup_path'] = "/data/gitlab/backups"  
        gitlab_rails['backup_keep_time'] = 604800

2.重新加载gitlab
    [root@gitlab ~]# gitlab-ctl reconfigure

3.创建我们的备份目录
    [root@gitlab ~]# mkdir -p /data/gitlab/backups
    [root@gitlab ~]# ll /data/gitlab/backups/
    -rw------- 1 git git 163840 Oct 18 15:43 1571384612_2019_10_18_12.0.3_gitlab_backup.tar

4.执行备份命令:
    [root@gitlab ~]# gitlab-rake gitlab:backup:create
    
    5.将没有问题的命令写入定时任务
    [root@gitlab ~]# crontab -l
    00 02 * * * gitlab-rake gitlab:backup:create

!!!!恢复
    1.删除所有的仓库
    2.恢复gitlab
-------------------------------------------------------------------------
    1) 停止gitlab
    [root@gitlab ~]# gitlab-ctl stop unicorn
    [root@gitlab ~]# gitlab-ctl stop sidekiq
    
    2)恢复备份(备份名不要带后缀)
    [root@gitlab ~]# gitlab-rake gitlab:backup:restore BACKUP=1571384612_2019_10_18_12.0.3

3)重启gitlab服务
    [root@gitlab ~]# gitlab-ctl resta

最新文章

  1. Golang语法与代码格式速记【转】
  2. step by step设置postgresql用户密码并配置远程连接
  3. 三部曲一(数据结构)-1011-Sorting It All Out
  4. 20.C#LINQ基础和简单使用(十一章11.1-11.2)
  5. Openstack的error僵尸实例的解决办法
  6. visual studio 插件开发
  7. DataGrid 使用模型列后实现点击列名称排序
  8. 用wrk测试nginx/ndoejs/golang
  9. css弹性盒子新旧兼容
  10. php-基于面向对象的MySQL类
  11. 转发—Android开发常用的插件及工具
  12. J2EE进阶(十六)Hibernate 中getHibernateTemplate()方法使用
  13. Linux 高阶命令进阶(一)
  14. unity---背景循环滚动
  15. 【Java每日一题】20170221
  16. kickstart-G
  17. thinkphp3.2 批量添加数据
  18. linux 常用命令-变量命令
  19. css框架,一把锋利的剑
  20. Android测试入门篇

热门文章

  1. 记一次处理mysql数据库无故锁表的经历
  2. 使用express框架创建服务器
  3. SpringBootSecurity学习(04)网页版登录其它授权和登录处理
  4. Spring 梳理-Spring配置文件 -<context:annotation-config/>和<context:component-scan base-package=""/>和<mvc:annotation-driven /> 的区别
  5. ajax跨域访问数据
  6. [scrapy-redis] 将scrapy爬虫改造成分布式爬虫 (2)
  7. Java的一些基础知识深入
  8. Vim升华之树形目录插件NERDTree安装图解(ubuntu)
  9. ng的显示与隐藏
  10. Spring Boot 2.X(六):Spring Boot 集成Redis