第一章 Gitlab配置与安装
第一节Gitlab的介绍
一、什么是GitLab
GitLab是一个基于Git的开源代码托管平台和持续集成、持续交付(CI/CD)工具。它允许开发者在云端或私有服务器上,创建管理自己的Git仓库,并提供一系列丰富的协作工具,例如问题跟踪、讨论、合并请求、代码审查等等。此外,GitLab还集成了CI/CD工具,可以帮助开发者自动构建、测试和部署应用程序。GitLab还支持访问控制、安全扫描、自定义集成等功能。GitLab可以在自己的服务器上进行安装,也可以使用GitLab提供的托管服务。GitLab是一个功能强大、使用广泛的代码托管和协作开发平台1。
二、使用Gitlab有什么的好处
- 版本控制:GitLab基于Git,提供了强大的版本控制功能,可以追踪和管理代码的变化,方便团队成员协同开发。
- 协作工具:GitLab提供了丰富的协作功能,包括问题跟踪、讨论、合并请求、代码审查等,有助于团队成员共同解决问题、提出建议并进行代码审查,提高团队协作效率。
- 持续集成与持续交付(CI/CD):GitLab集成了CI/CD工具,可以自动化构建、测试和部署应用程序,提高软件交付的速度和质量,减少手动部署的错误和工作量。
- 安全性:GitLab提供了多项安全功能,包括代码漏洞扫描、容器扫描、访问控制等,可以帮助确保开发过程中的代码安全性和项目数据的保密性。
- 可自托管或托管服务:GitLab可以在自己的服务器上进行安装和管理,也可以使用GitLab提供的托管服务,根据团队的需求选择适合的部署方式。
- 自定义集成与插件:GitLab支持自定义集成和插件,可以将其与其他工具和服务进行集成,扩展功能和增强开发体验。
第二节 安装和配置GitLab
一、安装Gitlab
- Gitlab官网:极狐GitLab - 企业级DevOps平台 | 极狐GitLab官网。到官网可以下载我们需要的版本,和不同操作系统使用的镜像文件。(官网一般提供的是最新版本,建议使用最新版本,这里我安装的是ce(社区版)16.5这个版本)2。如图1-1所示:

图1-1 Gitlab官网图
2.准备服务器:确保您有一台运行常用Linux发行版(如Ubuntu、Debian、CentOS等)的服务器,并具有足够的资源(CPU、内存、存储空间)满足GitLab的要求2。
这里我们使用10.1.230.173这台Linux服务器安装装Gitlab
3.安装依赖:在服务器上安装GitLab的依赖项。具体的安装命令可能会因您使用的Linux发行版而有所不同。以下是一些常见发行版的安装命令示例: Ubuntu/Debian:
sudo apt-get install curl openssh-server ca-certificates postfix
CentOS/RHEL:
sudo yum install curl policycoreutils openssh-server postfix
sudo systemctl enable sshd
sudo systemctl start sshd
sudo systemctl enable postfix
sudo systemctl start postfix
CentOS 7下载如图1-2所示:

图 1-2 CentOS 7
- 本教材以CentOS 7(使用的是CentOS 7的任意一个版本都行)演示为例,添加GitLab软件源:为了获取GitLab的安装包,您需要将GitLab的官方软件源添加到服务器的源列表中2。根据您使用的发行版,选择下面对应的命令执行:
curl-sShttps://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
- 安装GitLab:运行以下命令来安装GitLab:
sudo yum install gitlab-ce
- 安装成功的提示,如果看到以下提示,表明你安装成功了:
Thank you for installing GitLab!
Gitlab was unable to detect a valid hostname for your instance.
please configure a URL for your GitLab instance by setting "external url configuration in /etc/gitlab/gitlab.rb file.you can start your GitLab instance by running the following command:then ,sudo gitlab-ctl reconfigure。 如图1-3所示:

图 1-3 安装成功提示图
二、配置gitlab
1、配置GitLab:一旦安装完成,您需要配置GitLab以适应您的环境。GitLab的配置文件位于 /etc/gitlab/gitlab.rb (Ubuntu/Debian)或 /etc/gitlab/gitlab.rb (CentOS/RHEL)。打开该文件,按照您自己的需求进行配置。可能需要设置域名、SMTP服务器、备份策略等。详细的配置说明可以在GitLab官方文档找到。确保您已正确设置您的 DNS,并更改配置文件中的https://gitlab.example.com这个案例地址为我们自己的服务器地址http://10.1.230.173/。安装包将在该 URL 上自动配置和启动极狐GitLab。
2、启动GitLab:保存配置文件后,运行以下命令来重新配置并启动GitLab:
sudo gitlab-ctl reconfigure
3、访问GitLab:一旦启动成功,您可以在浏览器中访问http://10.1.230.173/users/sign_in地址(默认端口为80)来访问您的GitLab 实例。如图1-4所示:

图 1-4
启动成功出现该页面,说明我们的Gitlab就安装成功了。
三、可能存在的问题问题
如果安装的有防火墙,会出现防火墙拦截问题,以下是一种解决方案3:
第一步,linux系统开放GitLab的端口号。
命令:cd /etc/sysconfig
ls -l
结果显示"ip6tables-config"和"iptables-config",但是没有查看到iptables文件。
第二步,安装iptables-services。
命令:yum install iptables-services
第三步,启动iptables。
命令:systemctl enable iptables
systemctl start iptables
第四步,在iptables中配置开放GitLab的端口号。
命令:vim /etc/sysconfig/iptables
在文件中添加下面的代码:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
第五步,重启防火墙。
命令:service iptables restart
第二章 Gitlab常用功能
第一节 创建用户
一、创建用户
在一个GitLab实例中,用户是一个重要的概念。用户可以创建和管理Git代码库,并与团队成员分享代码,还可以管理项目的属性和访问控制等。因此,对于GitLab管理员来说,创建和管理用户是一个必要的操作。在本文中,我们将探讨GitLab创建和管理用户时需要注意的一些关键步骤和最佳实践,以帮助管理员在其GitLab实例中管理并保护用户的安全。
在GitLab中,要创建一个新用户,必须具有管理员权限。以下是创建用户的一般步骤:
- 登录GitLab管理员帐户:在GitLab主页的右上角,单击您的头像或用户名,进入管理员帐户页面。
2.进入管理员区域:从顶部导航栏中,选择"Admin Area"或"管理中心"选项。如图2-1所示:

图 2-1
3.打开"用户"页面:在左侧导航栏中,选择"Users"或"用户"选项
,打开用户管理页面。如图2-2所示:

图 2-2
- 创建新用户:在用户管理页面中,单击右上角的"New User"或"新用户"按钮。如图2-3所示:

图 2-3
- 填写新用户信息:输入新用户的必要信息,如用户名、姓名、电子邮件地址和密码(第一次登录时设置自己的密码)。建议使用强密码。如图2-4所示:

图 2-4
- 确认用户属性:根据需要配置其他用户属性,例如用户角色、访问级别等。如图2-5所示:

图 2-5
-
保存新用户信息:单击"Create User"或"创建用户"按钮,保存新用户信息。
-
当成功创建了新用户后,GitLab将向他们发送一封欢迎邮件,其中包含了他们的登录详细信息和安装说明。如图2-6所示:

图 2-6
第二节 用户管理
一、用户管理
在GitLab中,管理员可以管理已有用户的属性和访问级别,以确保他们能访问合适的资源并执行他们的任务。以下是管理用户的一般步骤:
1.打开已有用户的详细信息页:在用户管理页面中,单击特定用户的用户名,以打开他们的详细信息页。如图2-7所示:

图 2-7
- 2.更改用户属性:在用户页面中,您可以更改用户的属性,点击编辑按钮修改属性,例如他们的用户名、姓名、电子邮件和密码等。如图2-8所示:

图 2-8
3.管理用户角色:在该页面中可以分配不同角色给当前用户,比如一个仓库的Owner或Developer。如图2-9所示:

图 2-9
4.启用/禁用用户帐户:如果用户不再需要访问您的GitLab实例,您可以选择禁用或删除他们的帐户。在用户详细信息页面的底部,单击"Activate User"或"Deactivate User"按钮即可禁用或启用帐户。如图2-10所示:

图 2-10
5.重置用户密码:如果用户忘记了密码或需要更改密码,您可以选择在用户详细信息页中重置他们的密码。如图2-11所示:

图 2-11
第三节 双重身份验证
一、双重身份验证
在对用户进行管理时,gitlab提供双重身份验证来保护用户的安全性和隐私保护。还可以设置额外的访问控制规则,如双因素身份验证(2FA)和 IP 白名单,以提高安全性。在GitLab中,可参考以下步骤
- 设置强密码:为新用户和现有用户设置强密码是保护他们的帐户安全的第一步。强密码应该包含字母、数字和符号,并具有足够的长度。
- 启用2FA:双因素身份验证是提高安全性的有效措施。在GitLab中启用2FA可以防止未经授权的访问。
- 权限控制:在设置用户的访问权限时,请考虑将权限分配给最小的必需组。这可以防止用户访问他们不必要的资源。
第四节 创建分组
一、创建分组
在GitLab中创建分组可帮助组织您的代码库和团队,并将其放在一个专门的容器中。这样,您可以更轻松地管理代码库、协作和控制访问。
以下是在GitLab中创建分组的步骤:
- 登录GitLab账户:使用您的管理员帐户,在GitLab中登录,并确保您有创建分组的权限。
- 进入"Groups"页:在页面的右上角,单击您的头像或用户名,然后选择"Groups"或"群组"选项,进入分组页面。如图2-12所示:

图 2-12
3.创建分组:在页面的右侧,单击"New group"或"新团队"按钮,进入创建分组页面。
4.输入分组信息:在创建分组页面中,您需要输入以下信息:分组名称:例如"QA组"、"开发团队"分组路径:这是 URL 的一部分,用于在浏览器中访问分组。例如,"qa-group"、"dev-team"。如图2-13所示:

图 2-13
5.可见级别:确定您希望谁可以看到分组。默认情况下,所有用户都可以看到新创建的分组,但您可以选择将其设置为私有而只能让选定的用户访问。
6.配置分组权限:在创建分组后,您可以为其配置成员和权限。单击分组名称以打开分组详细信息页面,然后单击"Members"或"成员"选项添加新成员,并授予他们适当的权限。
这样,您就成功创建了一个GitLab分组。在分组中,您可以创建项目、协作并控制访问权限,以实现更好的协作和生产效率。GitLab分组也可以继承其他分组或整个 GitLab 实例的权限。在管理分组时,请注意使用最佳实践,如分配最少的访问权限并定期进行审计,以确保您的代码库和团队的安全性和隐私。
第三章 代码提交与更新
第一节 Gitlab提交代码
一、Gitlab提交代码
在GitLab中提交代码是一个常见的任务,它允许开发人员将他们的更改上传到GitLab仓库中,以便与团队成员共享和管理。以下是在GitLab中提交代码的一般步骤4:这里我们以qiankunbag-vue这个项目为例。使用这里我们使用Vscode演示:
1.克隆代码库:首先,您需要将GitLab仓库的代码克隆到本地开发环境中。可以使用以下命令克隆仓库:
git clone <仓库URL> 这里就是:
git clone http://10.1.230.173/wms/qiankunbag-vue.git。
其中 <仓库URL> 是您在GitLab仓库的页面上找到的远程存储库URL。如图3-1所示:

图 3-1
2.创建和切换到新的分支:在本地仓库中,您应该为您的更改创建一个新的分支。这可以帮助您保持代码的整洁性,并使您的更改与主要分支(如main或master)分离。可以使用以下命令创建新的分支并切换到它:
git checkout -b <分支名称>
git checkout -b yym-1006
其中 <分支名称> 是您希望为您的更改创建的分支的名称。如图3-2所示:

图 3-2
3.进行代码更改:根据您的需求,在本地仓库中进行代码更改。您可以使用您选择的文本编辑器或IDE来打开和编辑项目文件。
4.将更改添加到暂存区:一旦您完成了代码更改,您需要将更改添加到Git的暂存区。可以使用以下命令将所有更改添加到暂存区:
git add .
或者,如果您只想添加特定文件,可以使用以下命令:
git add <文件路径>
git add F:\qiankunbag-vue\src\views\qiankunbag\storeroomIn
其中 <文件路径> 是您想要添加的文件的路径或名称。
5.提交更改:一旦您的更改已添加到暂存区,您可以将更改提交到GitLab仓库。可以使用以下命令提交更改:
git commit -m "提交消息"
git commit -m "修改"
其中 "提交消息" 是对您的更改的简短描述。请确保提交消息清晰明了并描述您的更改内容。如图3-3所示:

图 3-3
6.推送更改到远程仓库:最后,您需要将您的更改推送到GitLab仓库中。可以使用以下命令将您的更改推送到远程仓库:
git push origin <分支名称>
git push origin master
其中 <分支名称> 是您之前创建的用于提交更改的分支的名称。如图3-4所示:

图 3-4
在成功推送更改后,它们将会显示在GitLab仓库的页面上,并可以与其他团队成员共享和合并。
第二节 Gitlab代码更新
一、Gitlab更新代码
提交代码前,请确保在提交之前进行代码审查,并定期从远程仓库拉取最新更改以避免合并冲突。此外,建议使用清晰明了的提交消息,以便其他开发人员能够理解和评审您的更改。
当团队分工开发时,每次提交代码时要先检查,别人有没有更新代码,不然提交代码会报错,使用的命令是:
git pull origin <分支名称>
git pull origin master如图3-5所示:

图 3-5
当是Already up to date.时就是最新代码。只有使当前代码是最新时,才能提交。
参 考 文 献
- 赵学作,赵少农.CentOS中Gitlab的安装与调试J.网络安全和信息化,2021,(01):
- Gitlab官方安装文档,https://docs.gitlab.cn/omnibus/installation/
- 参考文档:https://zhuanlan.zhihu.com/p/534072989?utm_id=0
- 参考文档:https://www.yii666.com/blog/475074.html