一、Gitlab简介
1.什么是gitlab
gitlab是一个开源的分布式代码托管中心,主要实现:源代码管理、版本控制、代码复用、代码查找
2.gitlab与github有什么不同
gitlab是模仿github。免费的私有仓库。安全。
3.为什么使用gitlab,它的优势与使用场景
免费开源<br /> 权限管理,能实现代码对个人可见<br /> 离线同步,不再实时依赖外网环境
二、Gitlab服务的组成
三、Gitlab安装(国内推荐)
#安装准备:安装gitlab服务所需要的依赖包sudo yum install -y curl policycoreutils-python openssh-server perl#开启sshd(默认已开启)sudo systemctl enable sshdsudo systemctl start sshd#开启防火墙通道(关闭防火墙的不用管)sudo firewall-cmd --permanent --add-service=httpsudo firewall-cmd --permanent --add-service=httpssudo systemctl reload firewalld#安装邮件服务器,以便发送邮件(选择性安装)sudo yum install postfixsudo systemctl enable postfixsudo systemctl start postfix#下载清华大学源rpm包https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-13.9.0-ce.0.el7.x86_64.rpm#安装rpm -ivh gitlab-ce-13.9.0-ce.0.el7.x86_64.rpm
三、Gitlab安装(官方)
#安装准备:安装gitlab服务所需要的依赖包sudo yum install -y curl policycoreutils-python openssh-server perl#开启sshd(默认已开启)sudo systemctl enable sshdsudo systemctl start sshd#开启防火墙通道(关闭防火墙的不用管)sudo firewall-cmd --permanent --add-service=httpsudo firewall-cmd --permanent --add-service=httpssudo systemctl reload firewalld#安装邮件服务器,以便发送邮件(选择性安装)sudo yum install postfixsudo systemctl enable postfixsudo systemctl start postfix#下载安装脚本curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash#下载gitlab服务,安装gitlab服务#修域名并安装sudo EXTERNAL_URL="http://www.zrq.com" yum install -y gitlab-ce
gitlab配置
#配置服务、访问域名及邮箱vi /etc/gitlab/gitlab.rb#配置域名external_url 'http://gitlab.example.com'#修改gitlab默认存放目录gitlab_rails['manage_backup_path'] = true #开启备份gitlab_rails['backup_path'] = "/var/opt/gitlab/backups" #备份目录gitlab_rails['backup_keep_time'] = 604800 #备份保留时间#开启邮箱### Email Settingsgitlab_rails['gitlab_email_enabled'] = true #是否开启gitlab_rails['gitlab_email_from'] = '1093740290@qq.com' #开启的账户gitlab_rails['gitlab_email_display_name'] = 'zrq_gitlab' #邮件抬头显示#开启smtp服务gitlab_rails['smtp_enable'] = truegitlab_rails['smtp_address'] = "smtp.qq.com"gitlab_rails['smtp_port'] = 465gitlab_rails['smtp_user_name'] = "1093740290"gitlab_rails['smtp_password'] = "xxxxxx"gitlab_rails['smtp_domain'] = "qq.com"gitlab_rails['smtp_authentication'] = "login"gitlab_rails['smtp_enable_starttls_auto'] = truegitlab_rails['smtp_tls'] = true#关掉promethuse监控(可选)gitlab_monitor['enable'] = falseprometheus['enable'] = false#初始化服务gitlab-ctl reconfigure#启动服务gitlab-ctl start#查看服务gitlab-ctl status#访问gitlab服务(之前配置的域名,如果配置的ip就用ip访问)http://www.zrq.com#gitlab邮箱测试注册账户会发送信息到你邮箱
四、Gitlab设置中文
五、Gitlab的基本操作
1.Gitlab中的用户、用户组、项目仓库之间的关系
- 首先创建组
- 然后创建项目隶属于这个组
在创建用户,为用户分配组。那这个用户就对这个项目有了权限,并且可以在新加入踢出组,方便加人
2.如何创建组、如何创建项目、如何创建用户,如何将用户加入组
界面创建组
- 界面创建项目
- 界面创建用户(开发与开发组长)
- 将开发组长加入组,并给所有者权限,将开发加入组并设置开发权限
3.关掉注册功能
```
4.gitlab新项目命令指引您还可以按照以下说明从计算机中上传现有文件。
Git 全局设置
git config —global user.name “Administrator” git config —global user.email “admin@example.com”
创建一个新仓库
git clone http://192.168.100.50/longquanyi/haonongren.git cd haonongren touch README.md git add README.md git commit -m “add README” git push -u origin master
推送现有文件夹
cd existing_folder git init git remote add origin http://192.168.100.50/longquanyi/haonongren.git git add . git commit -m “Initial commit” git push -u origin master
推送现有的 Git 仓库
cd existing_repo
git remote rename origin old-origin git remote add origin http://192.168.100.50/longquanyi/haonongren.git git push -u origin —all git push -u origin —tags
<a name="VQB4q"></a>### 六.通过ssh登陆gitlab推送代码(通过http方式需要输入用户名密码)<a name="aUtov"></a>### 1.添加服务器用户的ssh公钥到gitlab2.本地测试用ssh推送
本地git删除origin
git remote remove origin
切换到使用ssh推送
git remote add origin git@192.168.100.50:longquanyi/haonongren.git git push -u origin master
<a name="GUNb7"></a>## 七、gitlab的分支与tag<a name="raD7A"></a>## 八、gitlab的运维(备份、恢复、升级)
备份:手动备份
gitlab-rake gitlab:backup:create
恢复
先停止gitlab的数据写入服务(也可以直接停掉gitlab)
gitlab-ctl stop nicorn gitlab-ctl stop sidekiq
在执行恢复命令(注意名称是备份文件的名称,但是不要加后缀直接加时间戳与版本就好)
gitlab-rake gitlab:backup:restore BACKUP=1635605018_2021_10_30_13.9.0
恢复完毕保险起见重启下gitlab
gitlab-ctl restart
升级
先备份,在直接安装新版本,在恢复 ```
