配置 GitLab 服务器
# 配置 GitLab 服务器
本教程以 CSDN 开发云 官方的 GitLab 镜像实例 为例,配置GitLab以便正常托管代码和运行流水线
# 前期准备
SSH密钥对是一种安全便捷的登录认证方式,密钥用于登录 Linux 主机和 GitLab 自动打包部署。
创建密钥在自己的电脑上进行,可根据自己电脑的操作系统类型选择创建密钥的方式
# 创建密钥
# Windows 创建密钥
PuTTY 是一个 SSH 和 telnet 客户端,可使用它登录 Linux 主机。 PuTTY 是开源软件,提供源代码,由一群志愿者开发和支持。
PuTTYGen 用来创建密钥对。
浏览到下面开发者页面 (opens new window),下载 PuTTY 的安装程序
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
下载的文件,按照安装向导完成安装。
也可以从以下链接中下载 PuTTY 的64 位绿色版。绿色版下载后可直接运行,免去安装过程。
运行 puttygen.exe ,在 PuTTY 密钥生成器窗口中,单击 【Generate】。在灰色框中移动光标以填充绿色条。
点击【Save public key】按钮 保存公钥
点击【Save private key】按钮 保存公钥
# Linux/MacOS 创建密钥
使用ssh-keygen
生成 SSH 密钥,密钥用来登录 Linux 主机。
ssh-keygen
一路回车就可以完成 创建SSH 密钥,可以看到 ~/.ssh
目录下生成了 id_rsa
和 id_rsa.pub
两个文件
# 密钥使用场景
- 创建主机时,创建密钥密钥内容填写id_rsa.pub 文件的内容
- GitLab CI/CD SSH_PRIVATE_KEY 变量使用 id_rsa文件的内容
Linux/MacOS 使用
cat
命令查看密钥文件内容,windows 下使用type
命令或写字板查看密钥文件内容
#
# 创建gitlab 镜像实例
gitlab 主机用于托管项目代码,打包部署项目
访问云主机创建页面 (opens new window),在【镜像市场】选择【Gitlab】
【主机规格】选择4GB/2CPU的以上配置。配置越高,支持的并发用户越多,打包构建的速度越快。gitlab 官方推荐配置是 4GB/4CPU。
注意:2GB 的主机可能安装完就卡死,访问页面一直是 502,根本无法使用。
【登录凭证】选择您的SSH 密钥。若没有密钥,可以点击创建密钥,创建密钥时密钥内容粘贴 id_rsa.pub 文件的 内容。
【弹性公网】选择固定带宽。带宽选择越大,打包构建的速度越快。
配置完成后,点击页面底部的【立即购买】
完成购买后,在主机列表可以看到主机的 IP 地址。这个 IP是 gitlab 主机的 ip 地址,下面的配置中会用到。
# 配置 gitlab
# 修改密码
在浏览器地址栏输入 http://gitlab
,访问 上一步购买的gitlab 主机。若访问 gitlab 页面上出现502错误,说明 gitlab 服务正在初始化服务,请稍后再试。
输入用户名 root
,密码 H9ZjJo8jmb1p+2FAEJiA1Mv/ODHyj7JmGpe7joeGiJU=
,点击 【Sign in】
成功登录系统后,为了系统安全。请访问 http://gitlab/-/profile/password/edit 修改密码。
# 修改GitLab的服务地址
如上图,刚购买 gitlab 镜像主机后,GitLab 服务地址不正确,需要修改后才能正常 clone 代码。
此步骤必须进行,否则不能正常 clone 代码和构建项目。
不设置服务地址构建时会出现如下错误
# 登录gitlab服务器
下面采用CSDN 开发云网页控制台登录 Linux 主机。ssh 工具登录主机可参照文档登录 Linux 主机
访问主机管理控制台 (opens new window),选择【远程连接】
在新打开的窗口中输入用户名root
,出现提示输入 Password:时,点击【粘贴命令】粘贴密码。
vnc 终端目前不支持 Ctrl+V 粘贴密码,请使用【粘贴命令】
在粘贴命令窗口中,粘贴密码,点击【确定】。
随后在终端窗口中,输入【回车】。可以看到登录成功
# 编辑配置文件
1、编辑GitLab配置文件:/etc/gitlab/gitlab.rb
,运行以下命令
vi /var/gitlab/config/gitlab.rb
在文件末尾添加以下内容,注意用你gitlab 主机的 ip 替换<gitlab 主机的 ip>。也可以使用自己的域名,注意域名需要备案。
external_url 'http://<gitlab 主机的 ip>'
如果你不熟悉 vi 操作,使用如下命令,可以快捷的修改配置文件。
echo -e "\nexternal_url 'http://$(curl -s ifconfig.me)'" >> /var/gitlab/config/gitlab.rb
2
修改后的配置文件内容如下图
2、进行所需的更改后,您需要重新启动GitLab以生效配置 :
docker restart gitlab
GitLab重新配置需要大概 3-5 分钟,请耐心等待
# 设置 SSH 密钥
在你的个人资料中添加SSH密钥之前,你不能通过SSH来拉取或推送仓库。
点击【偏好设置】
在左侧菜单中,点击【SSH 密钥】
粘贴密钥文件 id_rsa.pub 内容,点击【添加密钥】即可完成添加密钥。之后,你可以通过SSH来拉取和推送项目代码。