使用GitLab进行团队及项目管理
应用场景
GitLab旨在帮助团队进行项目开发协作,为软件开发和运营生命周期提供了一个完整的DevOps方案。GitLab功能包括:项目源码的管理、计划、创建、验证、集成、发布、配置、监视和保护应用程序等。Flexus L实例提供GitLab应用镜像,该镜像基于Ubuntu 22.04操作系统,采用Docker部署,已预置Nginx、Docker软件。本文介绍如何使用GitLab进行团队及项目管理。
资源和成本规划
本实践以如下资源规划为例,您可根据实际需要进行调整。
资源 |
配置 |
说明 |
---|---|---|
云主机 |
CPU:2核 内存:8GiB |
GitLab应用镜像运行的最低配置为2核8GiB,您可根据您的业务需求选择Flexus应用服务器L实例规格。 |
镜像 |
GitLab |
选择GitLab应用镜像。 |
安全组 |
入方向规则:
|
|
域名 |
wpwebsite.com |
|
操作流程
操作步骤 |
说明 |
---|---|
购买Flexus L实例,选择GitLab应用镜像一键部署Flexus L实例。 |
|
配置安全组的入方向访问规则,确保可以正常访问应用镜像。 |
|
设置服务器密码、登录云服务器,设置Nginx安全级别。Nginx安全级别过高,可能导致部分应用功能不可用,可通过运行nginx_huaweicloud.sh脚本设置Nginx安全级别解决。 |
|
登录应用界面并设置管理页面语言。 |
|
简介创建项目、添加项目成员、合入代码操作。 |
步骤一:购买Flexus L实例
- 登录Flexus应用服务器L实例控制台。
- 单击“购买Flexus L实例”,在下拉列表中选择“购买Flexus应用服务器L实例”。
- 对Flexus应用服务器L实例进行资源配置。
参数
示例
说明
区域
北京-北京四
请就近选择靠近您业务的区域,可减少网络时延,提高访问速度。Flexus应用服务器L实例创建后无法更换区域,请谨慎选择。
应用镜像
GitLab
选择GitLab应用镜像。
实例规格
2核8G
选择实例规格。
实例名称
GitLab-Example
请自定义方便您识别的实例名称,例如GitLab-Example。
附加服务(可选)
- 数据盘:10GiB
- 主机安全
- 云备份:130GiB
请根据您的业务需要自主选择数据盘、主机安全、云备份附加服务并设置规格。
购买时长
1个月
单次购买最短为1个月,最长为3年。
Flexus应用服务器L实例支持自动续费功能。勾选后,在Flexus应用服务器L实例到期前自动续费。如果您购买时未开通自动续费,后续仍可以在控制台开通。自动续费的更多信息详见自动续费。
购买数量
1台
设置您购买的Flexus应用服务器L实例数量。
- 单击“立即购买”,根据页面提示完成购买。
- 单击“返回华为云Flexus云服务控制台”,查看已创建的Flexus应用服务器L实例。
Flexus L实例创建完成后的几分钟,应用镜像正在启动,在此期间请勿对Flexus L实例执行重置密码、重启、关机操作,避免无法正常登录应用镜像管理页面。请在应用镜像启动完毕后再执行重置密码、重启、关机操作。
步骤二:配置安全组
配置安全组的入方向访问规则,确保可以正常访问应用镜像。
- 在Flexus应用服务器L实例控制台,单击资源卡片,进入资源页面。
- 在左侧列表中选择“云主机 VM”,单击云主机名称,进入云主机详情页面。
- 选择“安全组”页签,单击“添加规则”,添加如下规则。
本例只添加基本规则,您可根据需要添加更多规则。
表1 安全组规则 优先级
策略
类型
协议端口
源地址
描述
1
允许
IPv4
TCP:80
0.0.0.0/0
允许使用HTTP协议访问管理页面。
1
允许
IPv4
TCP:443
0.0.0.0/0
允许使用HTTPS协议访问应用管理页面。
步骤三:设置Nginx安全级别
应用镜像的Nginx安全级别过高,可能导致部分应用功能不可用,可通过运行nginx_huaweicloud.sh脚本设置Nginx安全级别解决。
准备工作
- 检查应用是否已经启动完毕。
刚创建Flexus L实例后的几分钟,应用处于启动过程中,在此期间请勿对Flexus L实例执行重置密码、重启、关机操作,避免初始密码信息失效导致无法正常登录应用的管理页面。
应用启动完毕时,您可以看到如图2正常的管理页面初始化引导界面。
如果管理页面未正常显示,请排查以下原因:
- 未放通访问管理页面的端口:请根据步骤二:配置安全组检查是否放通端口。
- 管理页面正在启动中:请稍后重试。
- 重置Flexus L实例密码。
Flexus L实例无初始密码,登录Flexus L实例前请先重置Flexus L实例密码。重置密码具体操作详见重置密码。
操作步骤
步骤四:初始化GitLab
由于应用镜像基于代码界面的Ubuntu操作系统,为了便于您操作,应用镜像具备可视化的管理页面,登录管理页面后,您即可便捷的配置应用。首次登录应用的管理页面需要初始化,后续在Flexus L实例控制台可直接登录管理页面。
- 获取应用镜像管理页面的管理员用户名及密码。
登录云服务器,运行sudo cat /credentials/password.txt命令行获取应用镜像管理页面用户名及密码。
- 在服务器“概览”页“镜像信息”中,单击“管理”登录应用的管理页面。
如果管理页面未正常显示,请排查以下原因:
- 未放通访问管理页面的端口:请根据步骤二:配置安全组检查是否放通端口。
- 管理页面正在启动中:请稍后重试。
- 输入步骤1获取的用户名密码。
图3 GitLab管理页面的初始化引导页面
- 单击“Sign in”进入GitLab管理控制台,您就可以开始使用GitLab。
- 单击右上角用户头像,选择“Preferences”,设置管理页面语言,单击“Save changes”。
设置语言后,管理页面语言不会立刻切换,执行任意操作设置的语言在下一个页面生效。
至此,GitLab应用初始化完毕,接下来您即可在应用的管理页面创建项目。
步骤1:创建项目
本例演示管理员新建项目、项目初始化、添加分支dev,并且不对开发人员开放主分支main的项目管理操作。
- 单击左上角图标,选择“管理员”进入管理中心。
- 选择“项目”菜单,单击“新建项目”。
- 单击“Create blank project”,创建项目。
- 配置项目参数,单击“新建项目”,进入项目界面。
- 项目名称:请自定义易于识别的项目名称,例如Project-example。
- 项目URL:由云服务公网IP和管理员帐号组成,搜索并选择root。
其他参数保值默认配置。
- 在“仓库 > 文件”菜单,选择按钮,单击“New file”,在main主代码库中添加项目的索引index.html文件,单击“提交更改”。
- 在“分支”菜单中,单击“新建分支”,配置开发分支dev。
- 分支名称:dev
- 创建自:main主代码库
- 单击“创建分支”,创建开发分支dev后,可查看到创建的dev分支。
步骤2:添加项目成员
团队成员在登录页面注册帐号后不能直接登录GitLab,需要管理员在后台批准成员的注册帐号、邀请其加入项目成员并配置权限后,团队成员才能成功登录GitLab。
- 成员注册帐号。
- 成员访问“http://服务器公网IP”或“http://域名”进入登录界面。
- 单击“Register now”,输入注册信息,单击“Register”。
- 管理员批准成员注册。
- 管理员单击左上角图标,选择“管理员”。
- 在“用户”页签中,选择“等待批准”项,单击“Approve”,批准成员注册。
- 管理员邀请成员加入项目组,并分配权限。
- 管理员单击左上角图标,选择“项目 > 查看所有项目”,单击“Administrator/Project-example”项目。
- 选择“项目信息 > 成员”,单击“邀请成员”。
- 输入成员注册的名称或邮箱,并为成员分配Developer权限,单击“Invite”。
Gitlab用户在项目组中有五种权限:Guest、Reporter、Developer、Maintainer、Owner。
- Guest:可以创建issue、发表评论,不能读写版本库。
- Reporter:可以克隆代码,不能提交。
- Developer:可以克隆代码、开发、提交、push。
- Master:可以创建项目、添加tag、保护分支、添加项目成员、编辑项目。
- Owner:可以设置项目访问权限、删除项目、迁移项目、管理项目组成员。
- 成员团访问“http://服务器公网IP”或“http://域名”进入登录界面,输入用户名密码,即可成功登录GitLab。
成员首次登录GitLab时,请选择角色以便拥有更好的使用体验。
步骤3:合入代码
- 开发成员编辑并提交代码。
- 管理员审核合并请求。
- 单击右上角图标,选择“合并请求 > 审核请求”,单击请求标题。
- 单击“合并”,将dev分支的index.html文件合并到main主线中。
- 单击右上角图标,选择“合并请求 > 审核请求”,单击请求标题。