gitlab安装

您所在的位置:网站首页 window搭建gitlab gitlab安装

gitlab安装

2023-12-14 03:26| 来源: 网络整理| 查看: 265

GitLab是一个开源的Git仓库管理工具,用于版本控制、代码审查、问题跟踪和持续集成等。它提供了一个集成的开发环境,使团队成员可以在一个平台上协同开发和管理项目。本文介绍如何在CentOS 7.x和Alibaba Cloud Linux的ECS实例上安装GitLab,及其常见的使用教程。

准备工作

安装GitLab前,请确保您已创建一台ECS实例,并且ECS实例必须满足以下条件:

实例已分配公网IP地址或绑定弹性公网IP(EIP)。具体操作,请参见绑定EIP。

实例规格:安装Gitlab所需的实例规格与项目规模和团队规模有关,500名用户的团队建议使用4 vCPU、4 GiB以上的实例规格。

操作系统:

使用Linux安装包安装GitLab(CentOS 7.x):本操作以CentOS 7.x为例,Ubuntu、Debian、AlmaLinux 8等GitLab支持的系统安装方式,请参见GitLab官方文档。

使用Docker Engine安装GitLab:Alibaba Cloud Linux 3/2等不支持安装GitLab的系统,建议使用该方式。

已在安全组内添加入方向规则放行80、443、22端口。具体操作,请参见添加安全组规则。

安装GitLab

本文介绍以下两种方式,安装方式差异说明如下,您可以根据需要选择其中一种方式:

差异

Linux安装包

Docker Engine

安装方式

可以在Linux系统的ECS实例中直接运行安装包进行安装。

通过在Docker Engine上运行GitLab容器来实现安装。

系统依赖性

依赖于特定的系统运行库和依赖项,需要根据操作系统版本和配置进行相应的安装和配置。

不需要考虑Docker所在实例系统的依赖性,所有的依赖关系都被包含在Docker镜像中。

灵活性和可移植性

提供了更多的灵活性和自定义选项,可以根据需求进行自定义配置和调整。但是,可能需要更多的系统管理和维护工作。

提供了更高的可移植性和一致性,可以在不同的环境中轻松部署和运行GitLab容器。

版本管理

通常需要手动管理和升级GitLab的版本,需要下载更新的安装包并进行相应的升级操作。

可以通过拉取更新的Docker镜像来实现版本管理,只需简单地重新运行容器即可。

系统资源利用

运行在ECS实例上,会占用一定的系统资源。

将GitLab作为一个容器运行,可以更有效地利用系统资源,并且容器之间相互隔离,不会对ECS实例产生影响。

使用Linux安装包安装GitLab(CentOS 7.x)

远程连接需要安装GitLab的ECS实例。

具体操作,请参见通过密码或密钥认证登录Linux实例。

安装GitLab所需的依赖包。

sudo yum install -y curl policycoreutils-python openssh-server

启动SSH服务并设置SSH服务为开机自启动。

sudo systemctl start sshd sudo systemctl enable sshd

(可选)安装并配置Postfix。

Postfix用于GitLab发送电子邮件通知。如果您想使用其他解决方案发送电子邮件,请跳过此步骤并在安装GitLab后配置外部SMTP服务器。具体操作,请参见配置外部 SMTP 服务器。

安装Postfix。

sudo yum install -y postfix

如果提示类似以下报错信息,请执行rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022命令后,重新安装Postfix。

Falling package is :mysql-community-libs-compat-5.7.41-1.el7.x86_64 GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

启动Postfix并设置Postfix为开机自启动。

sudo systemctl start postfix sudo systemctl enable postfix

添加GitLab软件包仓库。

sudo curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash说明

由于网络原因,可能会出现无法添加GitLab软件包仓库的问题,建议您多尝试几次。

当出现类似如下回显信息,表示GitLab软件包仓库已安装。

image.png

安装GitLab。

sudo EXTERNAL_URL= yum install -y gitlab-ce

请替换成安装GitLab的实例公网IP地址,示例命令如下:

sudo EXTERNAL_URL=101.132.XX.XX yum install -y gitlab-ce

当出现类似如下回显信息,表示GitLab已经安装成功。

image.png

使用Docker Engine安装GitLab

远程连接需要安装GitLab的ECS实例。

具体操作,请参见通过密码或密钥认证登录Linux实例。

安装Docker。

具体操作,请参见部署并使用Docker。

创建Docker容器的挂载数据目录。

sudo mkdir -p /srv/gitlab

设置环境变量$GITLAB_HOME。

export GITLAB_HOME=/srv/gitlab

执行如下命令,拉取GitLab镜像。

sudo docker pull gitlab/gitlab-ce

当界面回显如下所示时,说明GitLab镜像已拉取成功。

image.png

执行如下命令,安装GitLab容器镜像。

说明

hostname:指定的主机名,建议修改为当前ECS实例的IP地址。

publish 443:443:将容器的443端口映射到主机的443端口(HTTPS访问)。

publish 8080:80:将容器的80端口映射到主机的8080端口(HTTP访问)。

publish 5000:22:将容器的22端口映射到主机的5000端口(公开SSH服务)。

ECS实例所在安全组入方向规则必须同时放行443、8080、5000端口。

sudo docker run --detach \ --hostname gitlab.example.com \ --publish 443:443 --publish 8080:80 --publish 5000:22 \ --name gitlab \ --restart always \ --volume $GITLAB_HOME/config:/etc/gitlab \ --volume $GITLAB_HOME/logs:/var/log/gitlab \ --volume $GITLAB_HOME/data:/var/opt/gitlab \ --shm-size 256m \ gitlab/gitlab-ce:latest

查看容器状态。

sudo docker ps -a

当容器状态为healthy时,说明GitLab容器已经正常启动。

image.png

使用GitLab登录GitLab

获取GitLab的登录密码。

Linux安装包方式:sudo cat /etc/gitlab/initial_root_password

Docker Engine安装方式:sudo docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password

回显信息类似如下所示,您可以在Password后获取GitLab的初始登录密码。

重要

出于安全原因,24小时后,该文件会被自动删除,建议您安装成功,首次登录之后,立即修改初始密码。

image.png

登录GitLab。

Linux安装包方式:在浏览器的地址栏中,输入http://ECS实例的公网IP即可进入GitLab的登录界面。

Docker Engine安装方式:在浏览器的地址栏中,输入http://ECS实例的公网IP:8080即可进入GitLab的登录界面。

首次登录使用用户名root,密码为步骤1获取的密码。asda5

生成密钥对文件并获取公钥

安装Git工具。

sudo yum install git

生成密钥对文件id_rsa。

ssh-keygen

生成密钥对的过程中,系统会提示输入密钥对存放目录(默认为当前用户目录下的.ssh/id_rsa,例如/home/test/.ssh/id_rsa)和密钥对密码,您可以手动输入,也可以按Enter保持默认。

回显信息类似如下所示。

image.png

查看并复制公钥文件id_rsa.pub中的内容,便于后续步骤使用。

cat .ssh/id_rsa.pub

回显信息类似如下所示。

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDQVwWjF3KXmI549jDI0fuCgl+syJjjn55iMUDRRiCd/B+9TwUda3l9WXH5i7RU53QGRCsDVFZxixLOlmXr9E3VSqkf8xXBnHs/5E2z5PIOCN0nxfB9xeA1db/QxPwK4gkHisep+eNHRn9x+DpCYDoSoYQN0nBg+H3uqfOqL42mJ+tqSfkyqbhjBf1kjtDTlBfVCWtI0siu7owm+c65+8KNyPlj5/0AyJ4Aqk1OX2jv+YE4nTipucn7rHwWuowasPU86l+uBsLNwOSb+H7loJvQyhEINX2FS1KnpRU+ld20t07n+N3ErfX5xBAGfxXpoN9BKKSP+RT7rvTeXTVE**** test@iZuf63zs0dn0qccsisy****创建项目

在GitLab的主页中,单击Create a project

ada55

单击Create blank project,设置Project nameProject URL,然后单击Create project

本文以mywork项目为例进行说明。

asda566

添加SSH key。

在当前project页面,单击Add SSH keysdaa

将公钥文件id_rsa.pub中的内容粘贴到Key所在的文本框中。asda

单击Add key

SSH Key添加完成后,如下图所示。sda

复制Clone链接,该链接在进行克隆操作时需要使用。

项目地址

使用GitLab

配置使用Git仓库的人员信息。

配置使用Git仓库的人员姓名。

git config --global user.name "testname"

配置使用Git仓库的人员邮箱。

git config --global user.email "[email protected]"

克隆已创建的项目到本地。

git clone [email protected]:root/mywork.git

简单配置

上传文件到GitLab服务器。

进入到项目目录。

cd mywork/

创建需要上传到GitLab中的目标文件。

echo "test" > /home/test/test.sh

将目标文件或者目录复制到项目目录下。

cp /home/test/test.sh ./

将test.sh文件加入到索引中。

git add test.sh

将test.sh提交到本地仓库。

git commit -m "test.sh"

将文件同步到GitLab服务器上。

git push -u origin main

文件同步命令

在网页中查看上传的test.sh文件已经同步到GitLab服务器中。文件同步结果

相关文档

如果您想了解更多的Gitlab操作,例如GitLab常用命令、数据备份、配置选项、用户管理、与其他服务集成、故障排除等,请参见GitLab官方文档。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3