当前位置: 首页 > news >正文

GitLab部署

学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)上传安装包

下载地址:Nexus Repository Manager

安装包较大,建议下载好手动上传服务器。这里上传到/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)修改默认分支的保护策略

相关文章:

  • 前端mjs和js文件区别,mjs和cjs区别---.es.js和.mjs的区别
  • Jules 从私有预览阶段推向全球公测
  • 虚幻引擎5-Unreal Engine笔记之摄像头camera
  • R语言学习--Day04--数据分析技巧
  • 基于HTML的Word风格编辑器实现:从零打造功能完备的富文本编辑器
  • AI-02a5a7.神经网络-与学习相关的技巧-正则化
  • leetcode 合并区间 java
  • 【神经网络与深度学习】激活函数的可微可导
  • IDEA2025版本使用Big Data Tools连接Linux上Hadoop的HDFS
  • [面试精选] 0001. 两数之和
  • 【解决】SSH 远程失败之路由配置问题
  • laravel中如何使用Validator::make定义一个变量是 ,必传的,json格式字符串
  • 【git】在Windows上搭建git服务器
  • 使用Java实现Navicat密码的加密与解密
  • Python训练营打卡 Day31
  • 牛客网 NC14736 双拆分数字串 题解
  • 【windows】音视频处理工具-FFmpeg(合并/分离)
  • I2C 协议的理解以及在 OLED 上的应用
  • mac上安装 Rust 开发环境
  • 数据分析_商务运营考核指标体系搭建
  • 小马智行一季度营收增12%:Robotaxi收入增长两倍,预计车队规模年底到千台
  • 存款利率、LPR同日下调,机构称对银行的影响偏正面
  • 上海国际电影电视节 | 奔赴电影之城,开启光影新程
  • 西安集中整治监督教育领域不正之风和腐败问题,举报方式公布
  • 这款小孩子最爱的饮料,害处竟大到不敢想象
  • 年内首次存款利率下调启动:3年期、5年期均下调0.25个百分点