gitlab仓库
目录
1.本章课程内容大纲
1.Gitlab版本库基本概述
??1.什么是gitlab?
??2.gitlab与github的不同?
??3.为什么使用gitlab优势和使用场景?
2.Gitlab服务组成?
3.gitlab安装配置?
??1.安装gitlab
??2.配置gitlab访问域名
??3.配置gitlab邮箱信息
4.gitlab中文汉化?
5.gitlab日常使用?
??1.Gitlab中的用户、用户组、项目仓库之间的关系?
??2.创建组、创建用户、创建项目?
??3.验证用户、组、项目的相关权限?
??3.如何将本地的本数据推送至gitlab的仓库? http方式、ssh方式?
??4.如果有新成员需要加入该项目该怎么办?
6.gitlab运维,如何备份、恢复、升级?
- gitlab介绍: 代码托管仓库,和gitee github 等等
2.gitlab与github区别
github针对私有仓库收费,国外 卡 ( 开源项目 )
gitlab自建自行维护, 创建公开仓库和私有仓库 (公司使用)
小型团队: 国内 码云 创建私有仓库
离线同步 分支管理 权限管理
2.gitlab安装
1.依赖环境
yum install -y curl openssh-server postfix wget
2.gitlab安装
yum localinstall gitlab-ce-12.0.3-ce.0.el7.x86_64.rpm
2.1 配置gitlab的url
vim /etc/gitlab/gitlab.rb external_url 'http://gitlab.oldxu.com'
2.2 配置gitlab的邮箱
gitlab_rails['gitlab_email_enabled'] = true gitlab_rails['gitlab_email_from'] = "" # 发件邮箱 gitlab_rails['gitlab_email_display_name'] = 'OldXu-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
2.3关闭不用的程序
#关闭或不关闭不重要,取决于你的内存 1385 prometheus['enable'] = false 1474 node_exporter['enable'] = fals 1493 redis_exporter['enable'] = false 1511 postgres_exporter['enable'] = false 1560 grafana['enable'] = false
2.4 gitlab初始化
#第一次初始化时间较长,后期修改配置文件也需要初始化 [ ~]# gitlab-ctl reconfigure [ ~]# gitlab-ctl status [ ~]# gitlab-ctl start [ ~]# gitlab-ctl stop [ ~]# gitlab-ctl restart [ ~]# gitlab-ctl stop nginx
2.5 访问gitlab服务
2.6 验证邮箱功能是否可用
5.重新初始化后检查gitlab邮箱是否可正常使用
[ ~]# gitlab-rails console Notify.test_email('接收方邮件地址','邮件标题','邮件内容').deliver_now Notify.test_email('','gitlab-test','测试').deliver_now
3.gitlab汉化
1.原生汉化,但不全
2.第三方的汉化补丁包 https://gitlab.com/xhang/gitlab
gitlab-ctl stop \cp -r gitlab-12-0-stable-zh/* /opt/gitlab/embedded/service/gitlab-rails/ gitlab-ctl reconfigure gitlab-ctl start
4.gitlab日常使用
??1.Gitlab中的用户、用户组、项目仓库之间的关系?
??2.创建组、创建用户、创建项目?
??3.验证用户、组、项目的相关权限?
??3.如何将本地的本数据推送至gitlab的仓库? http方式、ssh方式?
??4.如果有新成员需要加入该项目该怎么办?
1.如何导入已有项目
2.项目 用户 用户组 关系?
1.基于组创建项目
2.创建两个用户 linux windows 加入dev组 , 分配权限 linux是所有者 windows是开发
3.使用linux系统关联linux用户,克隆项目,然后分别往master或dev分支提交代码测试
4.使用windows系统关联windows用户,克隆项目
尝试修改dev分支内容,测试提交。
尝试修改master分支内容。,尝试提交,如果不行
1.尝试发起合并请求由linux用户审批,检查合并后的效果
2.直接关闭该项目的分支保护,然后再次测试。
A B用户
用户权限
1.git修改为ssh连接方式
[ gdx]# git remote -v origin http://gitlab.oldxu.com/dev/gdx.git (fetch) origin http://gitlab.oldxu.com/dev/gdx.git (push) [ gdx]# git remote remove origin [ gdx]# git remote add origin :dev/gdx.git [ gdx]# git remote -v origin :dev/gdx.git (fetch) origin :dev/gdx.git (push)
2.gitlab备份
gitlab备份非常简单,就一条命令
gitlab_rails['backup_path'] = "/var/opt/gitlab/backups" gitlab_rails['backup_keep_time'] = 604800 gitlab-ctl reconfigure
执行备份命令,( 如果希望每天执行,使用shell脚本或定时任务都ok )
gitlab-rake gitlab:backup:create 默认路径 [ ~]# ls /var/opt/gitlab/backups/ 1573549930_2019_11_12_12.0.3_gitlab_backup.tar
3.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
4.gitlab升级
不要跨越大版本
12.0.3 --> 12.1.xx
12.1汉化包
5.gitlab迁移
https://www.xuliangwei.com/bgx/803.html#toc_4
5.gitlab总结
- 1.gitlab介绍
- 2.gitlab安装
- 3.gitlab配置
- 1.邮箱
- 2.域名
- 3.关闭没用服务(不需要)
- 4.gitlab汉化
- 5.gitlagb基本使用
- 1.用户和用户组以及权限的关系?
- 2.演示用户和用户组权限配置 ?
- 6.gitlab备份
- 7.gitlab恢复
- 8.作业: gitlab升级 迁移
- 9.扩展:
- 1.gitlab中请求合并 (合并实现的几种方式)
- 2.gitlab分支保护机制(调整分支保护机制)
- 3.gitlab关闭主页面的注册功能 (因为默认注册即可登录)
- 4.gitlab免密方式
- http方式: 需要频繁输入密码 不是太方便
- ssh方式: 将系统的公钥放置对应用户ssh下,即可实现免密登录。
- 5.gitlab修改备份路径 (自行完成) /data/gitlab/backups