搭建专属代码仓库
一、开通云服务器免费试用
- 本实验可免费领取一台云服务器ECS资源,您可在本活动首页进行领取(仅限新用户领用)。
- 本试用教程以下列的配置信息为例,实际操作时,建议根据您的实际业务体量和需求选择。
参数 |
示例 |
产品配置 |
2核4G |
操作系统 |
CentOS 7.9 64位。 |
预装应用 |
本教程无需选择。 |
产品所在地域 |
华东1(杭州) 本教程以华东1(杭州)为例,您可根据实际需求进行选择 |
到期释放设置 |
建议您选择现在设置,避免到期未释放产生扣费。 |
其他参数 |
保持默认值或按需修改。 |
- 前往ECS控制台,在左侧导航栏,选择实例与镜像 > 实例。
- 在顶部菜单栏左上角处,选择和试用实例相同的地域(本教程示例华东1(杭州))。
- 设置该实例登录密码。找到您创建的试用实例,在其右侧操作列单击 > 实例属性 > 重置实例密码,按照界面提示设置ECS实例的登录密码。
说明:实例创建完成大约3~5分钟后,才支持重置实例密码,如不可重置请耐心等待后重试。
- 单击试用实例的ID,选择安全组页签,单击安全组操作列的配置规则,在入方向添加需要放行的端口。本教程中,在安全组入方向放行80、443、22、3389、9000端口。
- 领取完免费试用后,返回资源领取界面,选中我已阅读并同意《阿里云云起实验室服务协议》,单击我已开通,进入实验。
说明:如果您的阿里云账号只能领取部分免费试用产品,请您领取符合免费试用资格的产品,然后进入实验,不满足免费试用资格的产品将会使用个人账户资源进行创建,并会产生一定的费用,请您及时关注账户扣费。
二、安装GitLab
- 在实验室页面右侧的功能栏中,单击图标,切换至Web Terminal。
- 在登录实例对话框中,输入您创建ECS实例时设置的密码,单击确定,即可连接至云服务器ECS。
- 安装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 服务器。
a.安装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
b.启动Postfix并设置Postfix为开机自启动。
sudo systemctl start postfix sudo systemctl enable postfix
- 添加GitLab软件包仓库。
说明:由于网络原因,可能会出现无法添加GitLab软件包仓库的问题,建议您多尝试几次。
sudo curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
当出现类似如下回显信息,表示GitLab软件包仓库已安装。
- 安装GitLab。
sudo EXTERNAL_URL=<GitLab服务器的公网IP地址> yum install -y gitlab-ce
说明:您需要将命令中的替换成安装GitLab的实例公网IP地址,即您创建的云服务器ECS实例公网IP地址,示例命令如下:
sudo EXTERNAL_URL=101.132.XX.XX yum install -y gitlab-ce
安装时间较长,请您耐心等待。当出现类似如下回显信息,表示GitLab已经安装成功。
三、使用GitLab
- 登录GitLab
a.获取GitLab的登录密码。
sudo cat /etc/gitlab/initial_root_password
回显信息类似如下所示,您可以在Password后获取GitLab的初始登录密码。
重要:出于安全原因,24小时后,该文件会被自动删除,建议您安装成功,首次登录之后,立即修改初始密码。
b.登录GitLab。
在浏览器的地址栏中,输入http://ECS实例的公网IP即可进入GitLab的登录界面。
首次登录使用用户名root,密码为上一步骤获取的密码。
- 生成密钥对文件并获取公钥
a.安装Git工具。
sudo yum install git
b.生成密钥对文件id_rsa。
ssh-keygen
生成密钥对的过程中,系统会提示输入密钥对存放目录(默认为当前用户目录下的.ssh/id_rsa,例如/home/test/.ssh/id_rsa)和密钥对密码,您可以手动输入,也可以按Enter保持默认。
回显信息类似如下所示。
c.查看并复制公钥文件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****
- 创建项目
a.在GitLab的主页中,单击Create a project。
b.单击Create blank project,设置Project name和Project URL,然后单击Create project。
本文以mywork项目为例进行说明。
c.添加SSH key。
- 在当前project页面,单击Add SSH key。
- 将公钥文件id_rsa.pub中的内容粘贴到Key所在的文本框中。
- 单击Add key。
SSH Key添加完成后,如下图所示。
d.返回mywork项目,复制Clone链接,该链接在进行克隆操作时需要使用。
- 使用GitLab
a.配置使用Git仓库的人员信息。
- 配置使用Git仓库的人员姓名。
git config --global user.name "testname"
- 配置使用Git仓库的人员邮箱。
git config --global user.email "abc@example.com"
b.克隆已创建的项目到本地。
git clone git@101.132.XX.XX:root/mywork.git
c.上传文件到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服务器中。
四、清理及后续
ECS提供的个人版免费试用实例为按量付费实例。完成教程后,请参考以下规则处理实例:
- 如果无需继续使用ECS实例,可以登录ECS控制台,找到目标实例,在操作列单击,搜索并单击释放,根据界面提示释放实例。
- 如果需要继续使用ECS实例,请至少在试用到期1小时前为阿里云账号充值,确保账户金额不小于100.00元人民币。到期未续费的实例会因欠费而被自动停机,停机15天内实例将保留,15天后实例和数据都将被自动释放。