首页 > 其他分享 >11、Git之自建项目托管平台(GitLab)

11、Git之自建项目托管平台(GitLab)

时间:2024-07-26 20:29:22浏览次数:17  
标签:11 令牌 Git GitLab 所示 点击 gitlab 之自建 如上图

11.1、简介

Github 是国外的项目托管平台,由于网络问题,在国内访问和使用不是很方便。

Gitee 是国内的项目托管平台,虽然在访问和使用上挺方便的,但依然让人担忧项目代码可能会被泄露。

因此,从企业或机构的角度出发,是倾向于在内部自建一个项目托管平台,将绝对管理权控制在自己手中的。

GitLab 作为一个用于项目代码仓库管理的开源项目,则能很好地满足企业或机构在内部自建项目托管平台的需求。

11.2、安装

本节演示如何使用 rpm 安装包,在 CentOS 7 中离线安装 GitLab 。

11.2.1、下载安装包

gitlab 官网下载地址:https://packages.gitlab.com/gitlab/gitlab-ce

清华大学开源软件镜像站下载地址(推荐):https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/

image

如上图所示,本文选择使用 gitlab-ce-16.10.6-ce.0.el7.x86_64.rpm 版本的安装包。

提示:EL7 是 Red Hat 7.x,CentOS 7.x 和 CloudLinux 7.x 的下载。

11.2.2、服务器准备

本文将 GitLab 安装在 CentOS 7 虚拟机上,虚拟机配置为 2 核 CPU 、4G 内存、16G 磁盘。

关于 CentOS 7 虚拟机的安装方法,请参考安装CentOS7虚拟机这篇文章。

注意:16G 磁盘是最低配置要求;我使用过 8G 磁盘的虚拟机,安装完 GitLab 后,再新建一个普通用户账号,就用完了 8G 磁盘的空间,甚至都还没有创建任何项目仓库。 关于如何扩容 CentOS 7 虚拟机的磁盘,请参考VirtualBox扩容CentOS-7虚拟机磁盘这篇文章。

11.2.3、上传安装包到服务器

image

如上图所示,使用 mobaxterm 之类的工具,将 rpm 安装包上传到 CentOS 服务器。

11.2.4、运行安装包

image

rpm -ivh 安装包名称

错误:依赖检测失败:
policycoreutils-python 被 gitlab-ce-16.10.6-ce.0.el7.x86_64 需要
image
注意:如果运行 GitLab 安装包时存在上述错误,则需要先安装 policycoreutils-python 依赖

11.2.5、修改external_url配置

image

如上图所示,external_url 配置在 /etc/gitlab/gitlab.rb 文件中。

vi /etc/gitlab/gitlab.rb

image

如上图所示,external_url 配置默认值为 http://gitlab.example.com

image

如上图所示,将 external_url 配置修改为 'http://192.168.56.120:10005

其中,192.168.56.120 是 GitLab 所在的服务器的 IP ;10005 是自定义的端口,否则 GitLab 会占用 80 端口。

11.2.6、重新加载配置文件

image

gitlab-ctl reconfigure

注意:重新加载配置文件的过程比较耗时,耐心等待即可,出现 gitlab Reconfigured! 即操作成功。
image

11.2.7、查看端口占用情况

image

上图为 CentOS 自身所使用的端口。

image

上图为重新加载 GitLab 配置文件后,端口的变化。

新加载 Gitlab 配置文件,会自动启动或重启 Gitlab ;所以不用再重复执行启动或重启命令。

11.2.8、常用命令速查表

命令 作用
gitlab-ctl start 启动 GitLab
gitlab-ctl restart 重启 GitLab
gitlab-ctl stop 停止 GitLab
gitlab-ctl reconfigure 新加载 GitLab 配置文件
gitlab-ctl status 查看 GitLab 状态
gitlab-rake gitlab:check SANITIZE=true 检查 GitLab
gitlab-ctl tail 查看 GitLab 日志

11.2.9、查看管理员初始化密码

image

如上图所示,在第一次成功重新加载配置文件后,会为 GitLab 的 root 管理员账号随机生成一个初始化密码;该密码会在 24 小时后自动删除。

cat /etc/gitlab/initial_root_password

11.3、Gitlab的基本使用

11.3.1、访问GitLab登录页

image

如上图所示,使用在 11.2.5 节配置的 external_url (http://192.168.56.120:10005)即可访问 GitLab 登录页。

注意:如果访问不了登录页,可能是服务器的防火墙问题,关掉防火墙即可;
image
systemctl stop firewalld

11.3.2、登录root管理员账号

image

如上图所示,使用生成的初始化密码,登录root管理员账号。

image

如上图所示,这便是 GitLab 的主页。

11.3.3、修改界面语言为中文

image

如上图所示,点击“Preference”。

image

如上图所示,将 Language 选择为简体中文,然后保存修改。

11.3.4、修改root管理员密码

image

如上图所示,点击“编辑个人资料”。

image

如上图所示,在“密码”界面中,即可修改密码。

image

如上图所示,修改密码后,需要重新登录。

11.3.5、停用注册功能

image

如上图所示,GitLab 默认开启自由注册账号功能,但是 GitLab 一般用于企业内部,因此一般都会停用注册功能,账号应由 root 管理员创建。

image

image

如上图所示,取消“已启用注册功能”,然后保存更改即可。

image

如上图所示,停用注册功能后,登陆页面的“立即注册”入口消失了。

image

如上图所示,如果想恢复启用注册功能,在“管理中心”->“设置”->“通用”中,可以找到“注册限制”的配置项恢复配置。

11.3.6、创建新账号

image

如上图所示,在“管理中心”->“概览”->“用户”中,可以找到创建新用户的按钮。

image

如上图所示,设置新用户的名称、用户名和电子邮件。

image

如上图所示,设置新用户的权限为“管理员”。

image

如上图所示,新建用户成功后,会自动跳转到该用户的资料页,可以点击“编辑”按钮,为该用户重置密码。

image

如上图所示,为该用户设置密码后,点击“保存更改”即可。

11.3.7、创建远程仓库

image

如上图所示,点击“创建项目”。

image

如上图所示,选择“创建空白项目”。

image

如上图所示,设置仓库名称、仓库归属用户、仓库可见级别,然后点击“新建项目”按钮,即可创建一个远程库仓库。

image

如上图所示,仓库新建成功,可以获取到这个仓库的 HTTP 和 SSH 地址。

11.3.8、配置SSH密钥

image

如上图所示,点击“编辑个人资料”->“SSH密钥”,进入配置SSH密钥的界面;然后点击“添加新密钥”按钮。

image

如上图所示,将在本地生成的 SSH 公钥复制到 GitLab,然后点击“添加密钥”即可完成SSH密钥的配置。

提示:关于本地生成和查看的 SSH 公钥方式,请参考7.10.2 和 7.10.3 小节。

image

如上图所示,已成功在 GitLab 中添加了一个本地电脑生成的公钥。

这样一来,以后在本地电脑,使用远程仓库的 SSH 地址执行 push (推送)命令的时候,就不需要登录了。

11.3.9、生成访问令牌

image

如上图所示,点击“编辑个人资料”->“访问令牌”,进入配置访问令牌的界面;然后点击“添加新令牌”按钮。

image

如上图所示,在添加访问令牌的配置界面中,设置该访问令牌的名称(任意名称,本例为for_idea),设置该令牌的过期时间,还有设置该令牌的权限(本例选中api,即全权限);然后点击“创建个人访问令牌”即可生成一个访问令牌。

image

如上图所示,访问令牌已成功生成。

注意:该访问令牌相当于 GitLab 的账号密码,所以不能向陌生人透露。
此外,该访问令牌要尽快复制保存,否则刷新页面后就消失;如果没能及时保存,也可以删除重新生成一个。

11.4、IDEA集成GitLab

11.4.1、安装GitLab插件

image

如上图所示,在“File”->“Settings”->“Version Control”中可以看到,IDEA 默认没有和 GitLab 的相关的功能,因此需要额外安装 GitLab 插件。

image

如上图所示,在“Plugins”->“Marketplace”中,搜索“GitLab”,即可找到 GitLab 插件来安装。

image

如上图所示,安装完成插件后,需要重启 IDEA 才能使用该插件。

image

如上图所示,GitLab 插件安装成功后,可以在“Version Control”中找到和 GitLab 的相关的功能。

11.4.2、配置GitLab服务器

image

如上图所示,在“Version Control”->“GitLab”中,点击“Add New GitLab Server”按钮,在弹窗中,配置 GitLab 服务器的地址。

注意:这里使用到了 11.3.9 节生成的访问令牌。

image

11.4.3、分享项目到GitLab

11.4.3.1、打开分享弹窗

image

如上图所示,点击“VCS”->“Import into Version Control”->“Share Project on GitLab”,即可打开分享项目到 GitLab 的弹窗。

11.4.3.2、设置远程库属性

image

如上图所示,在弹窗中设置远程库的名称(本例为 gitlab_gittest)、远程库的分组(本例为 lb-liaojy )、远程库的连接类型(本例为 SSH)以及远程库的可见级别(本例为 Public )。

11.4.3.3、分享操作效果

image

如上图所示,确认进行 SSH 连接。

image

如上图所示,在弹窗中点击“share”按钮(相当于创建远程库然后push操作)后,项目成功地被分享到 GitLab 。

image

如上图所示,在 GitLab 中可以看到远程库已存在。

关于如何使用 IDEA 推送更新到远程库、拉取更新到本地库以及克隆远程库到本地,请参考10.4.4、10.4.5 和 10.4.6 节,本文不再赘述。

标签:11,令牌,Git,GitLab,所示,点击,gitlab,之自建,如上图
From: https://www.cnblogs.com/Javaer1995/p/18240514

相关文章

  • 【github】使用KeepassXC 解决github Enable two-factor authentication (2FA) 第二因
    下载https://github.com/keepassxreboot/keepassxc/releases/download/2.7.9/KeePassXC-2.7.9-Win64.msi代理地址https://dgithub.xyz/keepassxreboot/keepassxc/releases/download/2.7.9/KeePassXC-2.7.9-Win64.msi由于该软件不允许截图,以下操作参考官网创建数据库 Kee......
  • Windows11重置后出现Windows.old文件夹无法删除,报错C:\Windows.old\WINDOWS\System
    问题:Windows11重置后出现Windows.old文件夹无法删除,报错C:\Windows.old\WINDOWS\System32\WDI-目录不是空的。网上的各种方法均不奏效:https://baike.baidu.com/item/windows.old/2431751?fr=ge_ala最终的解决方法:发现在WDI文件夹下是空的,于是在这个文件夹下面建立了......
  • 使用git工具管理泰山派内核源码目录及抽打补丁简易流程
    目录使用git工具管理泰山派内核源码目录及抽打补丁简易流程一、使用git维护源码二、git常用的一些操作三、抽补丁四、打补丁五、补充使用git工具管理泰山派内核源码目录及抽打补丁简易流程最近,在做linux开发的过程中入手了一块泰山派RK3566的开发板,在官方提供的各......
  • L1-11-第五单元-for循环(25~26课)518: T454429 乘方计算
    初学c++的同学,对乘方运算不熟悉,我也是走过几次弯路才写对程序代码,大伙药注意仔细看程序代码。理解其中的奥妙!题目内容给出一个整数 a 和一个正整数 n,求乘方 an。输入格式一行,包含两个整数 a 和 n。−1000000≤a≤1000000,1≤n≤10000。输出格式一个整数,即乘方结果......
  • 【Git学习】概念+原理+常用命令(简洁,快速上手)
    本篇文章是我看完尚硅谷视频后作的总结,分享一下学习笔记。        软件配置管理(SCM)是指通过执行版本控制、变更控制的规程,以及使用合适的配置管理软件来保证所有配置项的完整性和可跟踪性。配置管理是对工作成果的一种有效保护        版本控制:软件版本,......
  • 1~11维空间的深层解释
            空间是我们生活和存在的基础。我们所熟悉的三维空间由长度、宽度和高度构成,通过这三个维度,我们可以描述和理解我们周围的世界。然而,科学家和哲学家们提出了更多维度的概念,这些维度在我们的直觉之外,似乎超出了我们对空间的常规认识。在这篇文章中,我们将探讨1到1......
  • Gitlab以及分支管理
    一、概述Git是一个分布式版本控制系统,用于跟踪文件的变化,尤其是源代码的变化。它由LinusTorvalds于2005年开发,旨在帮助管理大型软件项目的开发过程。二、Git的功能特性Git是关注于文件数据整体的变化,直接会将文件提交时的数据保存成快照,而非仅记录差异内容,并且使用S......
  • Dynamsoft Barcode Reader SDK Android Package 10.2.11
    BarcodeScannerforMobileIntegraterobustscanningcapabilitiesforQRcodeandotherbarcodetypesintoyournativeiOSandAndroidapps.DynamsoftBarcodeReaderSDKAndroidPackage10.2.11-Milli-SecondSpeedforMobileVideoStreamsUnderinteractive......
  • Git的一些基本用法
    本文分享自天翼云开发者社区《Git的一些基本用法》,作者:l****n基本操作gitbranch查看当前分支gitbranch-a查看所有分支gitpull更新当前分支gitcheckoutXXX切换到某分支gitcheckout.放弃所有更改gitlog--pretty=oneline查看当前分支的commitid(或者gitrev-......
  • 开源项目tiny11builder对Windows11进行精简
    由于采用的是Powershell脚本,系统默认的策略是阻止运行的,需要以管理员身份运行Powershell后,输入以下命令:1Set-ExecutionPolicyunrestricted将「tiny11builder」解压,在文件“tiny11maker.ps1”上鼠标右键→使用PowerShell运行。   提前下载好官方原版W......