热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

11GitLab私服的使用

GitLab私服使用说明v1.01-GitLab介绍​GitLab是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来
GitLab私服使用说明v1.0

1-GitLab介绍

​ GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。安装方法是参考GitLab在GitHub上的Wiki页面。

​ GitLab是由GitLabInc.开发,使用MIT许可证的基于网络的Git仓库管理工具,且具有wiki和issue跟踪功能。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。

​ GitLab由乌克兰程序员DmitriyZaporozhets和ValerySizov开发,它使用Ruby语言写成。后来,一些部分用Go语言重写。截止2018年5月,该公司约有290名团队成员,以及2000多名开源贡献者。GitLab被IBM,Sony,JülichResearchCenter,NASA,Alibaba,Invincea,O’ReillyMedia,Leibniz-Rechenzentrum(LRZ),CERN,SpaceX等组织使用。

​ GitLab是整个DevOps生命周期的第一个应用程序。其使用与GitHub类似,并且提供了许多DevOps相关的功能。GitLab提供无与伦比的可见性,更高的效率和全面的治理。这使得软件生命周期加快了200%,从根本上提高了业务速度。

官方网站:https://about.gitlab.com/

在这里插入图片描述

2-Git,GitHub与GitLab的区别


  • Git是一种版本控制系统,是一种工具,用于代码的存储和版本控制。
  • GitHub是一个基于Git实现的在线代码仓库,是目前全球最大的代码托管平台,可以帮助程序员之间互相交流和学习。
  • GitLab是一个基于Git实现的在线代码仓库软件,你可以用GitLab自己搭建一个类似于GitHub一样的仓库,但是GitLab有完善的管理界面和权限控制,一般用于在企业、学校等内部网络搭建Git私服。
  • GitHub和GiLlab两个都是基于Web的Git远程仓库,它们都提供了分享开源项目的平台,为开发团队提供了存储、分享、发布和合作开发项目的中心化云存储的场所。从代码的私有性上来看,GitLab 是一个更好的选择。但是对于开源项目而言,GitHub 依然是代码托管的首选。

3-GitLab私服安装

前提:

​ 使用docker-compose.yml脚本的方式安装gitlab,所以要确保服务器上已经安装好了docker及docker-compose环境

第一步,在服务器上根目录下创建一个gitlab文件夹

mkdir gitlab

第二步,进入gitlab文件夹中,并创建docker-compose.yml文件

cd gitlab

编写docker-compose.yml文件内容

version: '3'
services:gitlab:image: 'twang2218/gitlab-ce-zh:11.1.4'container_name: "gitlab"restart: unless-stoppedprivileged: truehostname: 'gitlab'environment:TZ: 'Asia/Shanghai'GITLAB_OMNIBUS_CONFIG: |external_url 'http://192.168.200.133'gitlab_rails['time_zone'] = 'Asia/Shanghai'gitlab_rails['gitlab_shell_ssh_port'] = 2224ports:- '80:80'- '443:443'- '2224:22'volumes:- /opt/gitlab/config:/etc/gitlab- /opt/gitlab/data:/var/opt/gitlab- /opt/gitlab/logs:/var/log/gitlab

external_url 是我们要访问的gitlab的地址,端口号是80,

gitlab_rails[‘gitlab_shell_ssh_port’] 对应的端口号2224 是ssh连接的端口号

第三步,创建相关目录

#批量创建目录
mkdir /opt/gitlab/{config,data,logs} -p
#查看创建的目录
ls -l /opt/gitlab/
总用量 8
drwxrwxr-x. 3 root root 239 2月 28 17:03 config
drwxr-xr-x. 20 root root 4096 2月 28 17:05 data
drwxr-xr-x. 20 chrony root 4096 2月 28 17:05 logs

第四步,在gitlab目录下执行docker-compose命令去生成和启动gitlab容器

cd gitlabdocker-compose up -d

第五步,查看docker容器

docker ps

在这里插入图片描述

第六步,gitlab管理界面

地址:http://129.204.133.242

账号:root

密码:首次登陆设置

修改密码:123456789
在这里插入图片描述

登录操作:

在这里插入图片描述

登录之后进入gitlab主页面:

在这里插入图片描述

4-GitLab私服的使用


4-1-创建组及组权限配置

​ 在GitLab组相当于团队,在项目开发过程中,每个组有不同的组员和对应的不同的子项目,对项目组用户开放项目的访问。

​ 在GitLab首页选择Create a Group,进入创建页面,输入群组名称,群组URL,群组描述,同时还需选择可见性级别,其相当于设置组权限。

在可见性级别中包含三种:

  • 私有:群组及其项目只能由成员查看
  • 内部:任何登录的用户都可以查看该群组和任何内部项目
  • 公开:不进行身份验证,可以随意查看。

第一步,点击主页上创建一个群组

在这里插入图片描述

第二步,填写群组信息

在这里插入图片描述

第三步,创建群组

在这里插入图片描述

4-2-创建用户及用户权限配置


创建用户

组有了之后,还需要向组内添加项目组成员。

第一步,点击设置,选择用户菜单

在这里插入图片描述

第二步,点击用户,目前显示只有管理员自己

在这里插入图片描述

第三步,新建用户,会进入到添加用户页面,需要输入Name、Username、和Email。最后点击create user即可。

在这里插入图片描述

第四步,接着以管理员身份,重新进入到成员列表页面,此时已经可以看到新增了一个 李四用户。接着点击 编辑,设置该用户的登录密码。

在这里插入图片描述

密码修改为:12345678

用户进组,及用户权限指定

现在有了组和用户后,可以将指定用户添加到组中。

在这里插入图片描述

当进入到组的详情页面中之后,即可将指定用户添加到组中。首先需要先确定当前被操作的用户。接着需要指定当前用户的身份权限。

身份对应权限,总共有五个选项,分别为:

  • 访客:可以创建issue、发表评论,不能读写版本库
  • 报告者:可以克隆代码,不能提交,QA、PM可以赋予这个权限
  • 开发人员:可以克隆代码、开发、提交、push,RD可以赋予这个权限
  • 主程序员:可以创建项目、添加tag、保护分支、添加项目成员、编辑项目,核心RD负责人可以赋予这个权限
  • 所有者:可以设置项目访问权限 - Visibility Level、删除项目、迁移项目、管理组成员,开发组leader可以赋予这个权限

可以根据实际人员情况,进行人员角色权限分配。此处选择 开发人员

在这里插入图片描述

增加用户到群组中

在这里插入图片描述

4-3-创建项目

GitLab核心作用是作为代码仓库,因为它可以像GitHub一样进行代码托管。首先需要创建好项目,然后把项目指派该开发组。

在这里插入图片描述

当进入到新建项目页面,GitLab提供了三种创建方式:空白项目、从模板创建、导入项目。此处使用 空白项目 。对于权限仍然是三个,与组权限相同。

在这里插入图片描述

当创建成功,即可进入到项目页面。

在这里插入图片描述

并且此时,进入到项目组详情页面,可以看到该项目组已经关联了一个项目

在这里插入图片描述

5-IDEA集成GitLab


5-1-idea集成Git配置

在这里插入图片描述

5-2-提交代码到GitLab私服仓库中


初始化本地仓库

在这里插入图片描述

添加项目到本地暂存区

在这里插入图片描述

push代码到远程仓库

在这里插入图片描述

点击commit Directory

在这里插入图片描述

点击commit&push

在这里插入图片描述

注意:第一次的话,需要提示书写GitLab的登录用户名和密码

查看GitLab仓库中的代码片段

在这里插入图片描述


推荐阅读
  • Android日历提醒软件开源项目分享及使用教程
    本文介绍了一款名为Android日历提醒软件的开源项目,作者分享了该项目的代码和使用教程,并提供了GitHub项目地址。文章详细介绍了该软件的主界面风格、日程信息的分类查看功能,以及添加日程提醒和查看详情的界面。同时,作者还提醒了读者在使用过程中可能遇到的Android6.0权限问题,并提供了解决方法。 ... [详细]
  • 大坑|左上角_pycharm连接服务器同步写代码(图文详细过程)
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了pycharm连接服务器同步写代码(图文详细过程)相关的知识,希望对你有一定的参考价值。pycharm连接服务 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了markdown[软件代理设置]相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 现在比较流行使用静态网站生成器来搭建网站,博客产品着陆页微信转发页面等。但每次都需要对服务器进行配置,也是一个重复但繁琐的工作。使用DockerWeb,只需5分钟就能搭建一个基于D ... [详细]
  • DockerDataCenter系列(四)-离线安装UCP和DTR,Go语言社区,Golang程序员人脉社 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • HDFS2.x新特性
    一、集群间数据拷贝scp实现两个远程主机之间的文件复制scp-rhello.txtroothadoop103:useratguiguhello.txt推pushscp-rr ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • 解决github访问慢的问题的方法集锦
    本文总结了国内用户在访问github网站时可能遇到的加载慢的问题,并提供了解决方法,其中包括修改hosts文件来加速访问。 ... [详细]
  • iOS超签签名服务器搭建及其优劣势
    本文介绍了搭建iOS超签签名服务器的原因和优势,包括不掉签、用户可以直接安装不需要信任、体验好等。同时也提到了超签的劣势,即一个证书只能安装100个,成本较高。文章还详细介绍了超签的实现原理,包括用户请求服务器安装mobileconfig文件、服务器调用苹果接口添加udid等步骤。最后,还提到了生成mobileconfig文件和导出AppleWorldwideDeveloperRelationsCertificationAuthority证书的方法。 ... [详细]
  • 本文讨论了在使用Git进行版本控制时,如何提供类似CVS中自动增加版本号的功能。作者介绍了Git中的其他版本表示方式,如git describe命令,并提供了使用这些表示方式来确定文件更新情况的示例。此外,文章还介绍了启用$Id:$功能的方法,并讨论了一些开发者在使用Git时的需求和使用场景。 ... [详细]
  • k8s进阶之搭建私有镜像仓库
    企业级私有镜像仓 ... [详细]
  • 语法必须遵守的语法推荐遵守语法不做要求文件格式文件应该使用Unicode(UTF-8)编码保存。同时不要使用字节序标记(BOM)。与UTF-16和 ... [详细]
  • 周末,受微软公司的邀请,参加微软主持的云容器培训会议,为参加培训的学院提供技术辅导,引导学员体验微软云端的DevOps实践。说是辅导,实际上自己也学到了许多的内容,包括K8S集群、负载、Azure中 ... [详细]
  • Ubuntu下怎么安装docker-ce
    这篇文章主要介绍“Ubuntu下怎么安装docker-ce”,在日常操作中,相信很多人在Ubuntu下怎么安装docker-ce问题上存在疑惑,小编查阅了各式资料,整 ... [详细]
author-avatar
fishandyp
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有