跳至主要內容

代码仓库:Gitlab


代码仓库:Gitlab

GitLab是一个基于Git的在线代码托管、版本控制、项目管理和协作工具。它不仅提供了完整的Git仓库管理功能,还是一个完整的CI/CD集成平台,提供了代码审阅、代码管理、测试、代码构建、部署等一系列应用,使得开发团队在代码开发、测试、部署及代码维护等方面更加高效和协作。

Git相关组件:

  • Git:是一种版本控制系统,是一个命令,是一种工具。
  • Gitlib:是用于实现Git功能的开发库。
  • Github:是一个基于Git实现的在线代码托管仓库,包含一个网站界面,向互联网开放。
  • GitLab:是一个基于Git实现的在线代码仓库托管软件,你可以用gitlab自己搭建一个类似于Github一样的系统,一般用于在企业、学校等内部网络搭建git私服。

Gitlab安装

以CentOS 7系统示例:

1. 安装和配置必须的依赖项

在 CentOS 7上,下面的命令会在系统防火墙中打开 HTTP、HTTPS 和 SSH 访问。这是一个可选步骤,如果您打算仅从本地网络访问极狐GitLab,则可以跳过它。

sudo yum install -y curl policycoreutils-python openssh-server perl
sudo systemctl enable sshd
sudo systemctl start sshd
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld

(可选)安装 Postfix 以发送电子邮件通知。也可以请跳过此步骤直接安装GitLab:

sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix

在安装 Postfix 的过程中可能会出现一个配置界面,在该界面中选择“Internet Site”并按下回车。把“mail name”设置为您服务器的外部 DNS 域名并按下回车。如果还有其它配置界面出现,继续按下回车以接受默认配置。

2. 下载/安装GitLab

配置GitLab 软件源镜像:

curl -fsSL https://packages.gitlab.cn/repository/raw/scripts/setup.sh | /bin/bash

接下来安装GitLab,需要将下面命令中的EXTERNAL_URL内容替换为实际服务器的IP或域名,如果是https将自动生成证书: 执行如下命令开始安装:

sudo EXTERNAL_URL="https://gitlab.example.com" yum install -y gitlab-jh

3. 访问

访问地址为上一步设置的EXTERNAL_URL的地址。使用root账号登录,初始随机密码保存在/etc/gitlab/initial_root_password文件中,该文件会在24小时后删除需要及时修改密码。

Gitlab配置

配置电子邮件SMTP

修改/etc/gitlab/gitlab.rb文件的以下信息:

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.server"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "smtp user"
gitlab_rails['smtp_password'] = "smtp password"
gitlab_rails['smtp_domain'] = "example.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_openssl_verify_mode'] = 'peer'

# If your SMTP server does not like the default 'From: gitlab@localhost' you
# can change the 'From' with this setting.
gitlab_rails['gitlab_email_from'] = 'gitlab@example.com'
gitlab_rails['gitlab_email_reply_to'] = 'noreply@example.com'

# If your SMTP server is using a self signed certificate or a certificate which
# is signed by a CA which is not trusted by default, you can specify a custom ca file.
# Please note that the certificates from /etc/gitlab/trusted-certs/ are
# not used for the verification of the SMTP server certificate.
gitlab_rails['smtp_ca_file'] = '/path/to/your/cacert.pem'

修改后执行:gitlab-ctl reconfigure使之生效。

Gitlab使用

用户管理

作为管理员用户,您可以手动创建用户:

  1. 在左侧边栏中,选择 搜索或转到
  2. 选择 管理中心
  3. 在左侧边栏中,选择 概览 > 用户 (/admin/users)。
  4. 选择 新建用户
  5. 填写必填字段,例如姓名、用户名和电子邮件。
  6. 选择 创建用户
  7. 重置链接会发送到用户的电子邮件,必须在首次登录时设置密码。

要在不依赖电子邮件确认的情况下设置用户密码,请在按照前面的步骤创建用户后:

  1. 选择用户。
  2. 选择 编辑
  3. 填写密码和密码确认字段。
  4. 选择 保存更改

禁用注册

默认情况下,任何访问您的GitLab的用户都可以注册一个账户。如果不希望自行注册账户,我们强烈建议您考虑禁用新注册。

禁用注册方法:

  1. 在左侧边栏中,选择 搜索或转到
  2. 选择 管理中心
  3. 选择 设置 > 通用
  4. 展开 注册限制
  5. 清除 已启用注册功能 复选框,然后选择 保存修改

创建项目

创建空白项目步骤:

  1. 在左侧边栏中,选择 搜索或转到 > 查看我的所有项目
  2. 在页面右侧,选择 新建项目
  3. 选择 创建空白项目
  4. 输入项目详情:
    • 项目名称 字段中,输入您的项目名称。名称必须以小写或大写字母(a-z, A-Z)、数字(0-9)、表情符号或下划线(_)开头。 它还可以包含点(.)、加号(+)、破折号(-)或空格。
    • 项目标识串 字段中,输入项目的路径。极狐GitLab 实例使用标识串作为项目的 URL 路径。要更改标识串,首先输入项目名称,然后更改标识串。
    • 项目部署目标(可选) 字段中,选择项目的部署目标。此信息有助于极狐GitLab 更好地了解其用户及其部署要求。
    • 要为用户修改项目的查看和访问权限,请更改 可见性级别
    • 要创建 README 文件以便初始化 Git 仓库、具有默认分支并可以克隆,请选择 使用自述文件初始化仓库
    • 要分析项目中的源代码是否存在已知安全漏洞,请选择 启用静态应用程序安全测试 (SAST)
  5. 选择 创建项目