本文阿里云百科分享使用阿里云服务器部署和使用GitLab,GitLab是Ruby开发的自托管的Git项目仓库,可通过Web界面访问公开的或者私人的项目。本教程介绍如何部署和使用GitLab。
目录
准备工作
部署GitLab环境
使用GitLab
登录GitLab
生成密钥对文件并获取公钥
创建项目
使用GitLab
准备工作
部署GitLab前,请确保您已创建一台ECS实例,并且ECS实例必须满足以下条件:
-  实例已分配公网IP地址或绑定弹性公网IP(EIP)。 
-  操作系统:必须为CentOS 7.x。 
-  ECS云服务器:aliyunbaike.com/go/ecs 
-  实例规格:部署GitLab的实例规格要求至少为4 vCPU和4 GiB内存。 
-  已在安全组内添加入方向规则放行80端口。具体操作,请参见添加安全组规则。 
部署GitLab环境
-  远程连接需要部署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软件包仓库已安装。  
-  安装GitLab。 sudo EXTERNAL_URL=<GitLab服务器的公网IP地址> yum install -y gitlab-ce<GitLab服务器的公网IP地址>请替换成安装GitLab的实例公网IP地址,示例命令如下:sudo EXTERNAL_URL=101.132.XX.XX yum install -y gitlab-ce当出现类似如下回显信息,表示GitLab已经安装成功。  
使用GitLab
登录GitLab
-  获取GitLab的登录密码。 sudo cat /etc/gitlab/initial_root_password回显信息类似如下所示,您可以在 重要Password后获取GitLab的初始登录密码。出于安全原因,24小时后,该文件会被自动删除,建议您安装成功,首次登录之后,立即修改初始密码。  
-  登录GitLab。 在浏览器的地址栏中,输入ECS服务器的公网IP即可进入GitLab的登录界面,首次登录使用用户名 root,密码为步骤1获取的密码。 
生成密钥对文件并获取公钥
-  安装Git工具。 sudo yum install git
-  生成密钥对文件 id_rsa。ssh-keygen生成密钥对的过程中,系统会提示输入密钥对存放目录(默认为当前用户目录下的 .ssh/id_rsa,例如/home/test/.ssh/id_rsa)和密钥对密码,您可以手动输入,也可以按Enter保持默认。回显信息类似如下所示。  
-  查看并复制公钥文件 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 new project,新建一个Project。  
-  在Create new project页面,单击Create blank project,并设置Project相关配置项。 本文以mywork项目为例进行说明。  
-  添加SSH key。 -  在当前project页面,单击Add SSH key。  
-  将公钥文件 id_rsa.pub中的内容粘贴到Key所在的文本框中。 
-  单击Add key。 SSH Key添加完成后,如下图所示。  
 
-  
-  复制Clone链接,该链接在进行克隆操作时需要使用。  
使用GitLab
-  配置使用Git仓库的人员信息。 -  配置使用Git仓库的人员姓名。 git config --global user.name "testname"
-  配置使用Git仓库的人员邮箱。 git config --global user.email "abc@example.com"
 
-  
-  克隆已创建的项目到本地。 git clone git@101.132.XX.XX:root/test.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服务器中。 
 
-  
本文转自阿里云官方文档。



















