代码仓库: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使用
用户管理
作为管理员用户,您可以手动创建用户:
- 在左侧边栏中,选择
搜索或转到
。 - 选择
管理中心
。 - 在左侧边栏中,选择
概览 > 用户
(/admin/users)。 - 选择
新建用户
。 - 填写必填字段,例如姓名、用户名和电子邮件。
- 选择 创建用户。
- 重置链接会发送到用户的电子邮件,必须在首次登录时设置密码。
要在不依赖电子邮件确认的情况下设置用户密码,请在按照前面的步骤创建用户后:
- 选择用户。
- 选择
编辑
。 - 填写密码和密码确认字段。
- 选择
保存更改
。
禁用注册
默认情况下,任何访问您的GitLab的用户都可以注册一个账户。如果不希望自行注册账户,我们强烈建议您考虑禁用新注册。
禁用注册方法:
- 在左侧边栏中,选择
搜索或转到
。 - 选择
管理中心
。 - 选择
设置 > 通用
。 - 展开
注册限制
。 - 清除
已启用注册功能
复选框,然后选择保存修改
。
创建项目
创建空白项目步骤:
- 在左侧边栏中,选择
搜索或转到 > 查看我的所有项目
。 - 在页面右侧,选择
新建项目
。 - 选择
创建空白项目
。 - 输入项目详情:
- 在
项目名称
字段中,输入您的项目名称。名称必须以小写或大写字母(a-z, A-Z)、数字(0-9)、表情符号或下划线(_)开头。 它还可以包含点(.)、加号(+)、破折号(-)或空格。 - 在
项目标识串
字段中,输入项目的路径。极狐GitLab 实例使用标识串作为项目的 URL 路径。要更改标识串,首先输入项目名称,然后更改标识串。 - 在
项目部署目标(可选)
字段中,选择项目的部署目标。此信息有助于极狐GitLab 更好地了解其用户及其部署要求。 - 要为用户修改项目的查看和访问权限,请更改
可见性级别
。 - 要创建 README 文件以便初始化 Git 仓库、具有默认分支并可以克隆,请选择
使用自述文件初始化仓库
。 - 要分析项目中的源代码是否存在已知安全漏洞,请选择
启用静态应用程序安全测试 (SAST)
。
- 在
- 选择
创建项目
。