使用GitLab应用镜像进行团队及项目管理
应用场景
GitLab旨在帮助团队进行项目开发协作,为软件开发和运营生命周期提供了一个完整的DevOps方案。GitLab功能包括:项目源码的管理、计划、创建、验证、集成、发布、配置、监视和保护应用程序等。Flexus L实例提供GitLab应用镜像,该镜像基于Ubuntu 22.04操作系统,采用Docker部署,已预置Nginx、Docker软件。本文介绍如何使用GitLab进行团队及项目管理。
资源和成本规划
本实践以如下资源规划为例,您可根据实际需要进行调整。
资源 |
配置 |
说明 |
---|---|---|
云主机 |
CPU:2核 内存:8GB |
GitLab应用镜像运行的最低配置为2核8GB,您可根据您的业务需求选择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安全级别
- 单击资源卡片,在“镜像信息”区域单击“管理”进入应用镜像管理页面,检查应用镜像是否正常启动。
- 如果管理页面显示正常的引导或登录界面,表示应用镜像已经正常启动。正常启动后再执行步骤2。
- 如果管理页面未正常显示,请耐心等待1~2分钟,稍后重试。
- 在应用镜像启动期间,请勿对Flexus应用服务器L实例进行重置密码、重启或关机操作,避免无法正常登录应用镜像管理页面。
- 如果无法打开管理页面,可能是因为没有放通访问管理页面的端口、管理页面未启动完毕等原因,处理方法请参见Flexus L实例应用镜像管理页面无法打开怎么办?。
- 在页面右上角选择更多,单击“重置密码”。
根据界面提示,设置云服务器的新密码,并确认新密码。运行中的云服务器需重启后新密码才能生效,默认勾选“自动重启”。
- 单击“确认”。
此时云服务器状态为“重启中”,待服务器状态为“运行中”时,继续如下步骤。
- 在资源管理界面右上角,单击“远程登录”。
- 根据界面提示,输入用户名密码登录云服务器。
用户名为root,密码为步骤2设置的密码。
- 执行如下命令,运行nginx_huaweicloud.sh脚本。
wget -N https://websoft9.github.io/stackhub/scripts/nginx_huaweicloud.sh && bash nginx_huaweicloud.sh
Nginx安全级别过高,可能导致部分应用功能不可用,请运行nginx_huaweicloud.sh脚本设置Nginx安全级别。
(可选)步骤四:添加并解析域名
本节介绍如何为服务器添加并解析域名,以便用户可以使用域名访问网站。如果您仅为个人开发或测试使用,可以不添加域名。
- 在左侧列表中选择“云主机 VM”,单击云主机名称,进入云主机详情页面。
- 选择“域名”页签,单击“添加域名”配置域名信息。
参数
说明
域名
输入添加到L实例的域名。例如wpwebsite.com。
说明:待添加的域名未被注册也可以成功添加,但是添加后必须完成注册和备案,才能正常访问网站。为了保证添加的域名可以正常使用,建议您先注册域名并完成备案,再添加域名。
企业项目
从下拉列表中选择所在的企业项目。
公网域名关联的企业项目,用于将公网域名资源按照企业项目进行管理。
说明:仅当用户使用的“账号类型”为“企业账号”时,显示该参数。
- 单击“确定”。
- 单击wpwebsite.com域名操作列表中的“解析域名”。
参数
说明
域名前缀
前缀和域名组成子域名。支持将域名或者子域名解析至当前公网IP。
例如,添加至服务器的域名为wpwebsite.com:
- 域名前缀为空,表示将域名wpwebsite.com解析至当前服务器公网IP。
- 域名前缀不为空,例如域名前缀为www,表示将www.wpwebsite.com子域名解析至当前服务器公网IP。
公网IP
系统自动读取当前云服务器的公网IP,无需配置。
- 在“域名”页签查看解析的域名。
- 备案域名。
要想通过域名成功访问服务器,必须备案域名。请在华为云备案中心备案此域名(免费),具体操作详见快速完成网站备案。
步骤五:初始化GitLab
首次登录应用镜像管理页面需要初始化,后续在“镜像信息”区域中,单击“管理”可直接登录管理页面。
- 获取应用镜像管理页面的管理员用户名及密码。
登录云服务器,运行sudo cat /credentials/password.txt命令行获取应用镜像管理页面用户名及密码。
- 在服务器“概览”页“镜像信息”中,单击“管理”登录管理页面。
- 输入步骤1获取的用户名密码。
- 单击“Sign in”进入GitLab管理控制台,您就可以开始使用GitLab。
- 单击右上角用户头像,选择“Preferences”,设置管理页面语言,单击“Save changes”。
设置语言后,管理页面语言不会立刻切换,执行任意操作设置的语言在下一个页面生效。
初始化GitLab后,您已获得一台完备的GitLab应用Flexus应用服务器L实例。您可开始使用您的GitLab应用,也可以按照步骤六:使用GitLab创建项目中的步骤,创建项目、添加项目成员、合入代码。
本例演示管理员新建项目、项目初始化、添加分支dev,并且不对开发人员开放主分支main的项目管理操作。
- 单击左上角
图标,选择“管理员”进入管理中心。
- 选择“项目”菜单,单击“新建项目”。
- 单击“Create blank project”,创建项目。
- 配置项目参数,单击“新建项目”,进入项目界面。
- 项目名称:请自定义易于识别的项目名称,例如Project-example。
- 项目URL:由云服务公网IP和管理员帐号组成,搜索并选择root。
其他参数保值默认配置。
- 在“仓库 > 文件”菜单,选择
按钮,单击“New file”,在main主代码库中添加项目的索引index.html文件,单击“提交更改”。
- 在“分支”菜单中,单击“新建分支”,配置开发分支dev。
- 分支名称:dev
- 创建自:main主代码库
- 单击“创建分支”,创建开发分支dev后,可查看到创建的dev分支。
团队成员在登录页面注册帐号后不能直接登录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时,请选择角色以便拥有更好的使用体验。
- 开发成员编辑并提交代码。
- 管理员审核合并请求。
- 单击右上角图标
,选择“合并请求 > 审核请求”,单击请求标题。
- 单击“合并”,将dev分支的index.html文件合并到main主线中。
- 单击右上角图标