更新时间:2024-11-06 GMT+08:00
分享

使用GitLab进行团队及项目管理

应用场景

GitLab旨在帮助团队进行项目开发协作,为软件开发和运营生命周期提供了一个完整的DevOps方案。GitLab功能包括:项目源码的管理、计划、创建、验证、集成、发布、配置、监视和保护应用程序等。Flexus L实例提供GitLab应用镜像,该镜像基于Ubuntu 22.04操作系统,采用Docker部署,已预置Nginx、Docker软件。本文介绍如何使用GitLab进行团队及项目管理。

资源和成本规划

本实践以如下资源规划为例,您可根据实际需要进行调整。

资源

配置

说明

云主机

CPU:2核

内存:8GiB

GitLab应用镜像运行的最低配置为2核8GiB,您可根据您的业务需求选择Flexus应用服务器L实例规格。

镜像

GitLab

选择GitLab应用镜像。

安全组

入方向规则:
  • 协议/应用:TCP
  • 端口:80、443
  • 源地址:0.0.0.0/0
  • 80:允许使用HTTP协议访问网站。
  • 443:允许使用HTTPS协议访问网站。

域名

wpwebsite.com

  • 如果您仅为个人开发或测试使用,可以不添加域名。
  • 如果您的应用对外开放,请为云服务器添加并解析域名。

操作流程

操作步骤

说明

步骤一:购买Flexus L实例

购买Flexus L实例,选择GitLab应用镜像一键部署Flexus L实例。

步骤二:配置安全组

配置安全组的入方向访问规则,确保可以正常访问应用镜像。

步骤三:设置Nginx安全级别

设置服务器密码、登录云服务器,设置Nginx安全级别。Nginx安全级别过高,可能导致部分应用功能不可用,可通过运行nginx_huaweicloud.sh脚本设置Nginx安全级别解决。

步骤四:初始化GitLab

登录应用界面并设置管理页面语言。

步骤五:使用GitLab创建项目

简介创建项目、添加项目成员、合入代码操作。

步骤一:购买Flexus L实例

  1. 登录Flexus应用服务器L实例控制台
  2. 单击“购买Flexus L实例”,在下拉列表中选择“购买Flexus应用服务器L实例
  3. Flexus应用服务器L实例进行资源配置。

    参数

    示例

    说明

    区域

    北京-北京四

    请就近选择靠近您业务的区域,可减少网络时延,提高访问速度。Flexus应用服务器L实例创建后无法更换区域,请谨慎选择。

    应用镜像

    GitLab

    选择GitLab应用镜像。

    实例规格

    2核8G

    选择实例规格。

    实例名称

    GitLab-Example

    请自定义方便您识别的实例名称,例如GitLab-Example。

    附加服务(可选)

    • 数据盘:10GiB
    • 主机安全
    • 云备份:130GiB

    请根据您的业务需要自主选择数据盘、主机安全、云备份附加服务并设置规格。

    购买时长

    1个月

    单次购买最短为1个月,最长为3年。

    Flexus应用服务器L实例支持自动续费功能。勾选后,在Flexus应用服务器L实例到期前自动续费。如果您购买时未开通自动续费,后续仍可以在控制台开通。自动续费的更多信息详见自动续费

    购买数量

    1台

    设置您购买的Flexus应用服务器L实例数量。

  4. 单击“立即购买”,根据页面提示完成购买。
  5. 单击“返回华为云Flexus云服务控制台”,查看已创建的Flexus应用服务器L实例

    Flexus L实例创建完成后的几分钟,应用镜像正在启动,在此期间请勿对Flexus L实例执行重置密码、重启、关机操作,避免无法正常登录应用镜像管理页面。请在应用镜像启动完毕后再执行重置密码、重启、关机操作。

步骤二:配置安全组

配置安全组的入方向访问规则,确保可以正常访问应用镜像。

  1. Flexus应用服务器L实例控制台,单击资源卡片,进入资源页面。
  2. 在左侧列表中选择“云主机 VM”,单击云主机名称,进入云主机详情页面。

  3. 选择“安全组”页签,单击“添加规则”,添加如下规则。

    本例只添加基本规则,您可根据需要添加更多规则。

    表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安全级别解决。

准备工作

  1. 检查应用是否已经启动完毕。

    刚创建Flexus L实例后的几分钟,应用处于启动过程中,在此期间请勿对Flexus L实例执行重置密码、重启、关机操作,避免初始密码信息失效导致无法正常登录应用的管理页面。

    Flexus L实例控制台“概览”页的“镜像信息”区域中,单击“管理”进入应用的管理页面,检查应用是否已经启动完毕。
    图1 应用的管理页面入口

    应用启动完毕时,您可以看到如图2正常的管理页面初始化引导界面。

    图2 GitLab管理页面的初始化引导页面

    如果管理页面未正常显示,请排查以下原因:

    • 未放通访问管理页面的端口:请根据步骤二:配置安全组检查是否放通端口。
    • 管理页面正在启动中:请稍后重试。
  2. 重置Flexus L实例密码。

    Flexus L实例无初始密码,登录Flexus L实例前请先重置Flexus L实例密码。重置密码具体操作详见重置密码

操作步骤

  1. Flexus L实例控制台,单击资源卡片上的“远程登录”按钮。

  2. 根据界面提示,输入用户名密码登录云服务器。

    用户名为root,密码为步骤2设置的密码。

  3. 执行如下命令,运行nginx_huaweicloud.sh脚本。

    wget -N https://websoft9.github.io/stackhub/scripts/nginx_huaweicloud.sh && bash nginx_huaweicloud.sh

    Nginx安全级别过高,可能导致部分应用功能不可用,请运行nginx_huaweicloud.sh脚本设置Nginx安全级别。

步骤四:初始化GitLab

由于应用镜像基于代码界面的Ubuntu操作系统,为了便于您操作,应用镜像具备可视化的管理页面,登录管理页面后,您即可便捷的配置应用。首次登录应用的管理页面需要初始化,后续在Flexus L实例控制台可直接登录管理页面。

  1. 获取应用镜像管理页面的管理员用户名及密码。

    登录云服务器,运行sudo cat /credentials/password.txt命令行获取应用镜像管理页面用户名及密码。

  2. 在服务器“概览”“镜像信息”中,单击“管理”登录应用的管理页面。

    如果管理页面未正常显示,请排查以下原因:

    • 未放通访问管理页面的端口:请根据步骤二:配置安全组检查是否放通端口。
    • 管理页面正在启动中:请稍后重试。
  3. 输入步骤1获取的用户名密码。
    图3 GitLab管理页面的初始化引导页面
  4. 单击“Sign in”进入GitLab管理控制台,您就可以开始使用GitLab。

  5. 单击右上角用户头像,选择“Preferences”,设置管理页面语言,单击“Save changes”

    设置语言后,管理页面语言不会立刻切换,执行任意操作设置的语言在下一个页面生效。

至此,GitLab应用初始化完毕,接下来您即可在应用的管理页面创建项目。

步骤五:使用GitLab创建项目

本节以创建项目、添加项目成员、合入代码为例,为您介绍如何使用GitLab。更多操作详见GitLab应用文档

步骤1:创建项目

本例演示管理员新建项目、项目初始化、添加分支dev,并且不对开发人员开放主分支main的项目管理操作。

  1. 单击左上角图标,选择“管理员”进入管理中心。
  2. 选择“项目”菜单,单击“新建项目”

  3. 单击“Create blank project”,创建项目。
  4. 配置项目参数,单击“新建项目”,进入项目界面。
    • 项目名称:请自定义易于识别的项目名称,例如Project-example。
    • 项目URL:由云服务公网IP和管理员帐号组成,搜索并选择root。

    其他参数保值默认配置。

  5. “仓库 > 文件”菜单,选择按钮,单击“New file”,在main主代码库中添加项目的索引index.html文件,单击“提交更改”

  6. “分支”菜单中,单击“新建分支”,配置开发分支dev。
    • 分支名称:dev
    • 创建自:main主代码库

  7. 单击“创建分支”,创建开发分支dev后,可查看到创建的dev分支。

步骤2:添加项目成员

团队成员在登录页面注册帐号后不能直接登录GitLab,需要管理员在后台批准成员的注册帐号、邀请其加入项目成员并配置权限后,团队成员才能成功登录GitLab。

  1. 成员注册帐号。
    1. 成员访问“http://服务器公网IP”或“http://域名”进入登录界面。
    2. 单击“Register now”,输入注册信息,单击“Register”

  2. 管理员批准成员注册。
    1. 管理员单击左上角图标,选择“管理员”
    2. “用户”页签中,选择“等待批准”项,单击“Approve”,批准成员注册。

  3. 管理员邀请成员加入项目组,并分配权限。
    1. 管理员单击左上角图标,选择“项目 > 查看所有项目”,单击“Administrator/Project-example”项目。
    2. 选择“项目信息 > 成员”,单击“邀请成员”
    3. 输入成员注册的名称或邮箱,并为成员分配Developer权限,单击“Invite”。

      Gitlab用户在项目组中有五种权限:Guest、Reporter、Developer、Maintainer、Owner。

      • Guest:可以创建issue、发表评论,不能读写版本库。
      • Reporter:可以克隆代码,不能提交。
      • Developer:可以克隆代码、开发、提交、push。
      • Master:可以创建项目、添加tag、保护分支、添加项目成员、编辑项目。
      • Owner:可以设置项目访问权限、删除项目、迁移项目、管理项目组成员。
  4. 成员团访问“http://服务器公网IP”或“http://域名”进入登录界面,输入用户名密码,即可成功登录GitLab。

    成员首次登录GitLab时,请选择角色以便拥有更好的使用体验。

步骤3:合入代码

  1. 开发成员编辑并提交代码。
    1. 访问“http://服务器公网IP”或“http://域名”登录GitLab。
    2. 选择“项目”菜单,单击项目名称。

    3. 在项目菜单中选择“仓库 > 分支”,单击dev分支。

    4. 单击“Web IED”,选择文件并进行编辑,例如编辑index.html文件。

    5. 选择左侧栏进入Source Control界面,单击“Commit & Push”按钮。

      提交时系统提示是否创建新分支,单击No。

    6. 在项目菜单中选择“仓库 > 文件”,可查看到更新index.html文件的提示信息。单击“创建合并请求”

    7. 设置请求信息,单击“创建合并请求”

      指定管理员审核,其他信息保持默认即可。

  2. 管理员审核合并请求。
    1. 单击右上角图标,选择“合并请求 > 审核请求”,单击请求标题。

    2. 单击“合并”,将dev分支的index.html文件合并到main主线中。

相关文档