GitLab私有Git

这篇具有很好参考价值的文章主要介绍了GitLab私有Git。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

GitLab私有Git

1 GitLab简介

GitLab是整个DevOps生命周期的第一个单一应用程序。只有GitLab才能启用Concurrent DevOps,从组件链的约束中解锁组织。GitLab提供无与伦比的可见性,更高的效率和全面的治理。这使得软件生命周期加快了200%,从根本上提高了业务速度。

官方网站

GitLab私有Git,运维,gitlab,git

gitlab优势

2 GitLab安装(无需安装)

默认安装位置:

GitLab私有Git,运维,gitlab,git

  1. 浏览到服务器IP并登录

    首次访问时,您将被重定向到密码重置屏幕。提供初始管理员帐户的密码,您将被重定向回登录屏幕。使用默认帐户的用户名root登录

    GitLab私有Git,运维,gitlab,git

    需要设置新的密码

    重置密码后,发现出现以下错误:

    GitLab私有Git,运维,gitlab,git

    原因分析:是因为我配置了安装步骤的第二步,需要邮箱,按照官网修改配置,安装Postfix以发送通知电子邮件。如果要使用其他解决方案发送电子邮件,请跳过此步骤并在安装GitLab后配置外部SMTP服务器

2.1 Docker 安装

2.1.1 安装镜像和创建容器
  1. 拉取gitlab、redis、postgresql,gitlab依赖redis和postgresql。

    #docker pull sameersbn/redis
    #docker pull sameersbn/postgresql
    docker pull gitlab/gitlab-ce:latest
    
  2. 创建postgresql、redis容器

    #创建数据目录
    mkdir -p /usr/soft/postgresql
    
    #创建容器
    docker run --name gitlab-postgresql -itd --privileged=true \
      --publish 5432:5432 \
      --env 'DB_USER=gitlab' \
      --env 'DB_PASS=gitlab' \
      --env 'DB_NAME=gitlabhq_production' \
      --env 'DB_EXTENSION=pg_trgm' \
      --volume /usr/soft/postgresql:/var/lib/postgresql \
      sameersbn/postgresql:latest
    
    #创建数据目录
    mkdir -p /usr/soft/redis/data
    
    #创建容器
    docker run --name gitlab-redis -d  --privileged=true  \
      --publish 6379:6379 \
      --volume /usr/soft/redis/data:/var/lib/redis \
      sameersbn/redis:latest
    

    3.创建gitlab容器

    #创建数据目录
    mkdir -p /usr/soft/gitlab/data
    mkdir -p /usr/soft/gitlab/logs
    
    #创建容器
    docker run --name gitlab -d \
        --link gitlab-postgresql:postgresql --link gitlab-redis:redisio \
        --publish 10022:22 --publish 10088:80 \
        --env 'GITLAB_PORT=8899' --env 'GITLAB_SSH_PORT=10022' \
        --env 'GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alpha-numeric-string' \
        --env 'GITLAB_SECRETS_SECRET_KEY_BASE=long-and-random-alpha-numeric-string' \
        --env 'GITLAB_SECRETS_OTP_KEY_BASE=long-and-random-alpha-numeric-string' \
        --env 'GITLAB_HOST=192.168.94.130' \
        --env 'SMTP_AUTHENTICATION=login' \
        --volume /usr/soft/gitlab/data:/home/git/data \
        --volume /usr/soft/gitlab/logs:/var/log/gitlab \
        gitlab/gitlab-ce:latest
    

    浏览器访问:http://[IP]:10088
    初次访问需要等待一段时间。

初始化 gitlab 中的 root 账号密码:

1、登录容器

docker exec -it -u root gitlab /bin/bash

2、登录GitLab的Rails控制台

gitlab-rails console

等待一段时间后,可以在控制台中输入命令

GitLab私有Git,运维,gitlab,git

3、定位到root用户

user = User.where(id: 1).first

GitLab私有Git,运维,gitlab,git

4、修改root密码

# 执行下面的命令,将 xxxxx 改为自己的密码
user.password='xxxxxx'

# 修改后,保存用密码
user.save
2.1.2 配置gitlab访问地址
#进入到gitlab容器中
docker exec -it -u root gitlab /bin/bash

#编辑配置文件
vim /etc/gitlab/gitlab.rb

#添加配置信息
external_url 'http://自己的服务地址的名称,可以是内网穿透域名也可以是ip地址'

如果想通过内网穿透地址访问 gitlab ,需要将配置路径内容配置改为 内网穿透的域名。

如果是将GitLab部署到云服务上,需要配置公网ip地址,无需配置内网穿透。

2.1.3 gitlab 容器中的命令

下面的命令需要进入到 gitlab 容器中执行。

1.初始化配置

时间比较久…,需要耐心等待…, 不要做任何操作

gitlab-ctl reconfigure

2.其他命令:

# gitlab 服务操作 服务操作
# 初始化配置 gitlab
gitlab-ctl reconfigure
# 启动 gitlab 服务
gitlab-ctl start
# 停止 gitlab 服务
gitlab-ctl stop

3 GitLab使用介绍 【了解】

3.1 前期配置

大家注意,一般这些配置是需要公司的领导如CTO等人去配置的,初级开发人员是没有这个权限的。

3.1.0 修改显示主题为中文

主页面找到左上角菜单,选择 Edit profile,如下:

GitLab私有Git,运维,gitlab,git

下面的组中选择为中文

GitLab私有Git,运维,gitlab,git

在偏好设置中修改本地语言并保存

GitLab私有Git,运维,gitlab,git

3.1.1 创建 group(规范)

所有班级创建的组名要遵循组名规范:

规范:项目名称或案例名称+班级编号+group+组标号

下面已黑马JavaEE 133班级学成项目为例子
示例:
	学成在线项目组的命名
		第一组:xuecheng133_group1

创建组示例如下:

进入用户组

GitLab私有Git,运维,gitlab,git

创建组

GitLab私有Git,运维,gitlab,git

按照组的命名规范创建组名称

GitLab私有Git,运维,gitlab,git

GitLab私有Git,运维,gitlab,git

3.1.3 创建用户
3.1.3.1 单个创建

班级小组组长将组员信息录入到GitLab中,小组组长信息由教师先添加到GitLab中。

进入到用户管理中心

GitLab私有Git,运维,gitlab,git

填写用户账号信息,并在该页面下方保存用户信息

GitLab私有Git,运维,gitlab,git

创建后点击编辑修改用户的密码

GitLab私有Git,运维,gitlab,git

添加用户的密码

GitLab私有Git,运维,gitlab,git

3.1.3.2 将用户添加到组中

进入之前创建的组中

GitLab私有Git,运维,gitlab,git

进入到选中的组管理中

GitLab私有Git,运维,gitlab,git

编辑组信息

GitLab私有Git,运维,gitlab,git

选中新添加用户信息,并选择为开发者角色

GitLab私有Git,运维,gitlab,git

PS:不同的组角色拥有不同的权限,角色权限在本文章最后。

添加成员到组中

GitLab私有Git,运维,gitlab,git

GitLab私有Git,运维,gitlab,git

3.2 创建项目

组长进入到组管理界面后,点击创建组中的项目,如下:

GitLab私有Git,运维,gitlab,git

创建组的空项目

GitLab私有Git,运维,gitlab,git

创建后的组项目,小组要将本组中的项目上传到自己组中。

GitLab私有Git,运维,gitlab,git

3.3 SSH 协议

Gitlab 可以通过 http 的方式可以上传和下载代码,这种方式可以用户的账号和密码。此方式在这里就不过多介绍了,下面将介绍使用 SSH 协议来操作 Gitlab 上的项目。

3.3.1 SSH协议概述

SSH 为 Secure Shell (安全外壳协议)的缩写,由 IETF 的网络小组(Network Working Group)
所制定。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用
SSH 协议可以有效防止远程管理过程中的信息泄露问题。

3.3.2 基于密匙的安全验证

使用 ssh 协议通信时,推荐使用基于密钥的验证方式。你必须为自己创建一对密匙,并把公
**用密匙放在需要访问的服务器上。**如果你要连接到 SSH 服务器上,客户端软件就会向服务
器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在该服务器上你的主
目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,
服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到
“质询”之后就可以用你的私人密匙解密再把它发送给服务器。

3.3.3 SSH密钥生成

密钥生成的方式有很多种,常见的jdk的工具或者是git bash等。本教程使用GitBash

  1. 鼠标右键打开GitBash客户端

    GitLab私有Git,运维,gitlab,git

  2. git bash 执行命令,生命公钥和私钥

    ssh-keygen -t rsa
    

    GitLab私有Git,运维,gitlab,git

执行命令完成后,在 window本地用户.ssh目录 C:\Users\用户名\ .ssh下面

生成如下名称的公钥和私钥:

GitLab私有Git,运维,gitlab,git

3.3.4 SSH密钥配置

密钥生成后需要在 gitlab 上配置密钥本地才可以顺利访问。

GitLab私有Git,运维,gitlab,git

设置成功后, 我们就可以使用 SSH的形式上传和下载代码了。

GitLab私有Git,运维,gitlab,git

GitLab私有Git,运维,gitlab,git

git clone git@47.110.238.87:group1/pinyougou_service.git
cd pinyougou_service
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master

完成提交操作。

4 Idea使用GitLab【练习】

下面的方式我们将使用 idea 中通用的操作来上传到 gitlab 中,无需其他的插件。下面方式不仅可以做到向 gitlab 中上传,也可以向 gitee 和 github 中上传。

4.1 上传项目至Gitlab

  1. 点击 VCS,创建本地仓库’Create Git Repository’

GitLab私有Git,运维,gitlab,git

  1. 选择项目的根目录,作为 git 本地仓库的根资源库。

GitLab私有Git,运维,gitlab,git

  1. 向项目的根路径下添加 .gitignore 文件忽略不许要上传的文件

GitLab私有Git,运维,gitlab,git

  1. 在 git 窗口中 local changes 目录中,选择未添加到控制的文件

    PS :在下面的列表中看下是否有不许要上传的文件存在,如果有请将排除(.gitignore)或删除

GitLab私有Git,运维,gitlab,git

  1. 在排查好上传文件后,点击绿色 √,将下面文件添加到版本控制中

    此次操作会将未添加到版本控制的文件 add 版本控制中,并 commit 到本地仓库里

GitLab私有Git,运维,gitlab,git

  1. 选择文件将文件提交到本地仓库中

    将下面的文件选中,并填写提交的备注(备注必须要填写)

    将 Before Commit 中的 PerForm code analysis 和 Check TODO 去掉勾选,这样可以加快上传的速度

GitLab私有Git,运维,gitlab,git

  1. 将项目上传到远程仓库 gitlab 中

    选中项目的根目录,在 git 菜单栏中选择 Push

GitLab私有Git,运维,gitlab,git

  1. 点击 Define remote 在弹出窗口中的 URL 里填写之前的项目地址

    PS:保证远端仓库是一个新的仓库

GitLab私有Git,运维,gitlab,git

  1. 输入账号和密码点击 Log in

GitLab私有Git,运维,gitlab,git

点击 Push 进行提交

GitLab私有Git,运维,gitlab,git

  1. 检查 Git 中是否已经上传到远端仓库地址中

GitLab私有Git,运维,gitlab,git

远端仓库中上传后项目的内容

GitLab私有Git,运维,gitlab,git

以上我们将自己的项目上传到了 gitlab 组中的项目中,只有本组的人员才可以看到此项目中的内容。

4.2 从Gitlab上拉取项目至本地

关闭项目后,选择导入

GitLab私有Git,运维,gitlab,git

输入gitlab对应项目的地址

GitLab私有Git,运维,gitlab,git

如果显示需要输出账号和密码,请求输入

GitLab私有Git,运维,gitlab,git

修改文件后提交并推送到远程仓库

GitLab私有Git,运维,gitlab,git

GitLab私有Git,运维,gitlab,git

4.3 冲突解决

和git解决冲突一致。

GitLab私有Git,运维,gitlab,git

4.4 分支合并

不同模块创建不同的分支,开发者在自己当前的分支下开发代码,等待测试通过之后,需要项目组长leader将所有分支的代码合并到master分支上即可。

gitlab默认是将代码master分支是保护的,所以需要以下设置

GitLab私有Git,运维,gitlab,git

5 补录

GitLab 用户组中的角色权限图一览

GitLab私有Git,运维,gitlab,git

GitLab私有Git,运维,gitlab,git文章来源地址https://www.toymoban.com/news/detail-829145.html

到了这里,关于GitLab私有Git的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • CentOS 搭建 GitLab && Git

    1. 安装 sshd 依赖 输入以下命令: 注:因为我之前已经装过了 sshd 依赖,所以就如上图所示。没装过的耐心等待就好。 2. 启动并设置开机自启 依次输入以下命令: 3. 安装防火墙 如果已经安装了防火墙并且已经在运行状态,则可直接进行第 5 步。 那如何判断 CentOS7 是否安装了

    2024年02月15日
    浏览(53)
  • [GitLab] 安装Git 指定版本

    检查是否已经安装 如果已经安装,先卸载 在GitHub上选择需要下载的版本 Git版本 在/usr/local/目录下新建文件夹:git,并在/usr/local/git/文件夹内下载压缩包 解压 进入根目录 安装依赖库 编译git源码 安装git至/usr/local/git路径 编辑配置文件 在末尾追加 使配置文件生效 查询git版本

    2024年02月05日
    浏览(51)
  • Git、Gitee、Github、Gitlab区别与 Git搭建

    Git: 本地软件,无需联网即可使用,实现 本地代码 的管理。         分布式版本控制系统,是一种工具,用于代码的存储和版本控制。         将 本地文件 通过一定的操作将其同步上传到 Github或Gitee Gitee :是一家中国公司, GitHub 相当于 云服务器 ,这个云服务器是国外

    2024年02月11日
    浏览(46)
  • Git和Gitlab部署与使用

    版本控制概念 :记录开发文件的时间机器 分类 :1.本地版本控制系统、2.集中化的版本控制系统CVS、Subversion(SVN)、3.分布式版本控制系统GIT 产品 :github、git、gitlab 1.介绍 git是一个分布式的代码版本管理软件,而 gitlab, gierrit, github都是git作为基础扩展其他功能开发而来,支持

    2024年02月10日
    浏览(36)
  • git学习笔记 - 下载gitlab项目

    一种是下载gitlab的master主分支的内容: 另一种下载指定分支的gitlab项目内容: 拓展 : 如果当你clone出现一些问题, 尤其是 timeout 相关问题, 可以如下操作: 在之前的 git clone http://xxxx 中的网址前面添加 https://ghproxy.com/ .

    2024年02月09日
    浏览(38)
  • 本地部署gitlab学习git使用

    最近想学习git使用了,在本地部署一个gitlab社区版玩玩吧~ gitlab只能部署在liunx系统上面,可以使用云服务器,也可以使用虚拟机等等, 下面介绍小电脑里面安装虚拟机,虚拟机安装centos7,centos7在一键安装宝塔,宝塔再一键安装gitlab社区版,一气呵成,无脑下一步即可 前面

    2024年02月08日
    浏览(59)
  • Git(七).git 文件夹瘦身,GitLab 永久删除文件

    由于项目在打 Docker 包的时候,需要将前端的包也打到 Docker 容器中,所以将前端包和前端的 Dockerfile 文件都放在了后端的 Git 目录下。 久而久之,由于前端包的更新迭代,Git 上面会一直保留前端包的历史版本,所以整个后端的 .git 越来越大,截至目前已经有 2.44G 了。每次有

    2024年02月06日
    浏览(62)
  • PyCharm使用GitLab,Git常用命令

    打开Pycharm-File-Settings-Version Control (第五步:克隆的项目的主分支,大多数是master) 到GitLab上克隆地址,两个都可以,我这里选择的是HTTPS VCS-Get from Version Control 点击克隆以后会跳出让你填写账号密码的信息框,填上就行,最后控制台会出现克隆成功 然后重新打开克隆到本地的

    2024年02月02日
    浏览(51)
  • git使用指南——以gitlab为例

    注册gitlab 自行注册 新建项目 选择新建一个空白的项目 clone项目地址到本地 执行完之后,会在目录下生成如下内容: 进入里面,选择.git,要上传的内容(资料或代码复制到该目录下): 选择上传分支 如果不选择上传的分支,会默认上传到master分支上面 新建分支 打开项目页

    2024年01月24日
    浏览(35)
  • Git、GitHub和GitLab的区别

    Git官网 Git 是一个 分布式 的版本控制系统。 版本控制系统 是一种用于记录一个或多个文件内容变化,方便查阅特定版本修订情况的系统。 没有使用版本控制系统之前,如果需要记录同一份文件不同版本的修改,可能会以“file_v1”、“file_v2”、“file_v3”等命名方式来保存不

    2024年02月04日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包