学git
Git最新最新详细教程、安装(从入门到精通!!!!企业级实战!!!工作必备!!!结合IDEA、Github、Gitee实战!!!!速通Git!!!GitLab入门)_git安装文章-CSDN博客
1.为什么使用GitLab-开发运维一体化
2. 部署安装GitLab
使用git,还需要一个远程代码仓库。常见的github、gitee这种远程代码仓库,公司中一般不会使用,因为他们是使用外网的,不够安全。一般企业都会搭建一个仅内网使用的远程代码仓库,最常见就是 GitLab。
2.1 安装部署
GitLab一般由公司的运维人员安装部署,开发人员只需要申请账号和相应权限即可,在这里我们在hadoop104上自己安装GitLab社区版体验一下。
2.1.1 安装准备
1)需要开启ssh:(已开启可跳过)
sudo systemctl status sshd
sudo systemctl enable sshd
sudo systemctl start sshd
2)防火墙开放http、https服务:(已关闭防火墙可跳过)
sudo systemctl status firewalld
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld
2.1.2 rpm 包安装
1)上传安装包
安装包较大,建议下载好手动上传服务器。这里上传到/opt/software
2)编写安装脚本
cd ~/bin
vim gitlab-install.sh
脚本内容如下
sudo yum install -y curl policycoreutils-python openssh-server perl
curl -fsSL https://packages.gitlab.cn/repository/raw/scripts/setup.sh | /bin/bash
sudo rpm -ivh gitlab-jh-16.6.1-jh.0.el7.x86_64.rpm
sudo yum install -y postfix
sudo systemctl enable postfix
sudo systemctl start postfix
3)修改脚本执行权限并执行
chmod +x gitlab-install.sh
sh gitlab-install.sh
4)修改external_url
编辑gitlab.rb
[atguigu@hadoop104 ~]$ sudo vim /etc/gitlab/gitlab.rb
在文件中找到external_url,修改为如下内容
external_url 'http://hadoop104'
保存退出
5)修改host
编辑gitlab.yml
[atguigu@hadoop104 ~]$ sudo vim /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml.example
找到gitlab.host修改为如下内容
gitlab:
\## Web server settings (**note:** host is the FQDN, do not include http://)
host: hadoop104
port: 80
https: false
保存退出
修改文件名称
[atguigu@hadoop104 ~]$ sudo mv /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml.example /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
6)重装需要彻底卸载
1 卸载gitlab
[atguigu@hadoop104 opt]$ sudo rpm -e gitlab-jh-16.6.1
2 删除gitlab文件
[atguigu@hadoop104 opt]$ sudo rm -rf /etc/gitlab
[atguigu@hadoop104 opt]$ sudo rm -rf /var/opt/gitlab
[atguigu@hadoop104 opt]$ sudo rm -rf /opt/gitlab
3 重装如果卡在sudo gitlab-ctl reconfigure配置命令上,可以使用另外一个窗口执行
sudo systemctl restart gitlab-runsvdir
2.1.3 执行初始化
执行过程大概需要3分钟:
sudo gitlab-ctl reconfigure
2.1.4 启停命令
1)启动命令
sudo gitlab-ctl start
2)停止命令
sudo gitlab-ctl stop
2.1.5 修改 root 密码
1)访问Web页面
默认使用80端口,直接浏览器输入安装服务器的hostname或ip:hadoop104
2)查看root密码
账号root,密码将随机生成并在 /etc/gitlab/initial_root_password 中保存24 小时
sudo cat /etc/gitlab/initial_root_password
zOyGe6aBQbkfYf6rOZP2qaWQOAo59K0HMrq9Rs7Yi2w=
修改密码:
2.1.6 设置简体中文
回到首页,可以看到变成中文:
3. 使用GitLab完成团队管理
去到一家公司,应该是已经有了GitLab平台,运维人员拥有root管理员账号。而作为一名普通的开发人员,你的leader和同事都拥有各自的GitLab账号和不同权限。入职后,你只需要申请开通GitLab账号和对应权限,不需要你来操作。
3.1 创建用户
为了更符合公司实际,我们假设数据组的leader账号为tutou,你是atguigu。
创建一个leader的账号:
再申请一个atguigu账号
用户会收到重置密码的邮件,也可以由管理员设置:
3.2 创建群组
在gitlab里,可以创建出组、组下的子组。在小公司里可以看见gitlab里边会创建出后端,大数据等等一系列组。尽量不要使用中文创建组名, 可以在组信息中的备注编写中文描述以及中文组名, 组内人员名称也尽量用全拼命名。
对于人员权限以及角色的控制也比较简单,有如下五种:
Ø Owner:最高权限,谁去创建组,这个组就被谁拥有,它可以开除管理员,但管理员无法操作owner的角色。
Ø Maintainer:(管理员-只是具备sudo权限的用户)管理员一般是给小组的组长,或者是给产品线的总监设定。
Ø Developer:是干活的人,就是写代码的程序员,可以进行代码的上传以及代码的下载,不能下载其他的组内的代码,只能下载它们组的代码。
Ø Repoter:比如现在有需求,其他组的大牛到我们组过来指导工作,要审视我们的代码,人家就提出需要一个权限,我不能给它developer因为它会改你代码,其他组的人不能改我们组的代码,所以就给一个repoter权限,他只能看,只读权限。
Ø guest:不用看,匿名,直接去掉。一般出现在从ldap中把离职人员的信息删掉,再去gitlab查这个人的时候,它就是一个guest用户(匿名)需要再到gitlab把它删掉(不删也没事)。
下面,我们假设研发部群组是rdc,下属后端组、前端组、大数据组等子群组:
1)创建研发中心群组rdc
2)创建大数据组
在研发中心组下,再创建一个大数据组(当然,其他还会有后端组、前端组等):
当然,根据公司情况还可以进一步在数据组下面细分子组(比如:离线、实时、湖等),这里我们就不再细分。
将数据组的leader设为bigdata的负责人:
将atguigu添加为普通的开发人员:
现在我们就有一个顶级群组rdc,其下有一个子群组bigdata,组内有管理员tutou,开发人员atguigu。
4.使用IDEA兼容GitLab
1)安装 GitLab 插件
2) 配置 SSH 免密登录
ssh-keygen -t rsa -C ergou@atguigu.com
到用户目录下.ssh查看id_rsa.pub文件
添加到GitLab中:
3)获取 GitLab 个人令牌
创建后,可以查看和复制生成的token:
4)添加 GitLab 服务
5)修改默认分支的保护策略