在这里插入图片描述

本教程以主要讲述如何配置GitLab以便正常托管代码和运行流水线

如果你不想那么麻烦,也可以一键创建环境

前期准备

SSH密钥对是一种安全便捷的登录认证方式,密钥用于登录 Linux 主机和 GitLab 自动打包部署。

创建密钥在自己的电脑上进行,可根据自己电脑的操作系统类型选择创建密钥的方式

创建密钥

Windows 创建密钥

PuTTY 是一个 SSH 和 telnet 客户端,可使用它登录 Linux 主机。 PuTTY 是开源软件,提供源代码,由一群志愿者开发和支持。

PuTTYGen 用来创建密钥对。

浏览到下面开发者页面,下载 PuTTY 的安装程序

https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

下载的文件,按照安装向导完成安装。

也可以从以下链接中下载 PuTTY 的64 位绿色版。绿色版下载后可直接运行,免去安装过程。

PuTTY

PuTTYGen

运行 puttygen.exe ,在 PuTTY 密钥生成器窗口中,单击 【Generate】。在灰色框中移动光标以填充绿色条。

Generating an SSH key pair in Putty.

点击【Save public key】按钮 保存公钥

点击【Save private key】按钮 保存公钥

Linux/MacOS 创建密钥

使用ssh-keygen 生成 SSH 密钥,密钥用来登录 Linux 主机。

ssh-keygen

image-20220421134040207

一路回车就可以完成 创建SSH 密钥,可以看到 ~/.ssh目录下生成了 id_rsaid_rsa.pub 两个文件

image-20220421134123430

密钥使用场景
  • 创建主机时,创建密钥密钥内容填写id_rsa.pub 文件的内容
  • GitLab CI/CD SSH_PRIVATE_KEY 变量使用 id_rsa文件的内容

Linux/MacOS 使用cat命令查看密钥文件内容,windows 下使用type命令或写字板查看密钥文件内容

image-20220421134233886

创建gitlab 镜像实例

gitlab 主机用于托管项目代码,打包部署项目

访问云主机创建页面,在【镜像市场】选择【Gitlab】

image-20220420173659292

【主机规格】选择4GB/2CPU的以上配置。配置越高,支持的并发用户越多,打包构建的速度越快。gitlab 官方推荐配置是 4GB/4CPU。

注意:2GB 的主机可能安装完就卡死,访问页面一直是 502,根本无法使用。

image-20220421095339435

【登录凭证】选择您的SSH 密钥。若没有密钥,可以点击创建密钥,创建密钥时密钥内容粘贴 id_rsa.pub 文件的 内容。

image-20220420173908366

【弹性公网】选择固定带宽。带宽选择越大,打包构建的速度越快。

image-20220420174454347

配置完成后,点击页面底部的【立即购买】

完成购买后,在主机列表可以看到主机的 IP 地址。这个 IP是 gitlab 主机的 ip 地址,下面的配置中会用到。

image-20220420174803254

配置 gitlab

修改密码

在浏览器地址栏输入 http://gitlab ,访问 上一步购买的gitlab 主机。若访问 gitlab 页面上出现502错误,说明 gitlab 服务正在初始化服务,请稍后再试。

image-20220420150739878

输入用户名 root ,密码 H9ZjJo8jmb1p+2FAEJiA1Mv/ODHyj7JmGpe7joeGiJU=,点击 【Sign in】

成功登录系统后,为了系统安全。请访问 http://gitlab/-/profile/password/edit 修改密码。

修改GitLab的服务地址

image-20220421151244321

如上图,刚购买 gitlab 镜像主机后,GitLab 服务地址不正确,需要修改后才能正常 clone 代码。

此步骤必须进行,否则不能正常 clone 代码和构建项目

不设置服务地址构建时会出现如下错误

image-20220421152451050

登录gitlab服务器

下面采用CSDN 开发云网页控制台登录 Linux 主机。ssh 工具登录主机可参照文档登录 Linux 主机

访问主机管理控制台,选择【远程连接】

image-20220427154353611

在新打开的窗口中输入用户名root,出现提示输入 Password:时,点击【粘贴命令】粘贴密码。

vnc 终端目前不支持 Ctrl+V 粘贴密码,请使用【粘贴命令】

image-20220427160516605

在粘贴命令窗口中,粘贴密码,点击【确定】。

image-20220427162511306

随后在终端窗口中,输入【回车】。可以看到登录成功

image-20220427162704781

编辑配置文件

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

修改后的配置文件内容如下图

image-20220428143637008

2、进行所需的更改后,您需要重新启动GitLab以生效配置 :

docker restart gitlab

GitLab重新配置需要大概 3-5 分钟,请耐心等待

设置 SSH 密钥

在你的个人资料中添加SSH密钥之前,你不能通过SSH来拉取或推送仓库。

点击【偏好设置】

image-20220421172015392

在左侧菜单中,点击【SSH 密钥】

image-20220421172120862

粘贴密钥文件 id_rsa.pub 内容,点击【添加密钥】即可完成添加密钥。之后,你可以通过SSH来拉取和推送项目代码。

如果你不想那么麻烦,也可以一键创建环境

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐