本地服务器搭建的Gitlab 远程克隆或者推送介绍,借助cpolar工具实现远程http和ssh两种方式连接,
这里的环境是在Linux docker上面运行的Gitlab服务,然后通过windows系统连接,前置条件是windwos需要安装好git 和ssh服务
1. Gitlab本地项目
登录我们本地的Gitlab,我们查看本地项目,方便测试,新建了一个mytest
测试项目文件
2. 安装cpolar
Linux安装cpolar 也是非常简单,快捷脚本一键安装即可,下面是安装cpolar步骤
cpolar官网地址: https://www.cpolar.com
- 使用一键脚本安装命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
- 向系统添加服务
sudo systemctl enable cpolar
- 启动cpolar服务
sudo systemctl start cpolar
成功启动cpolar服务后,我们浏览器上使用Linux局域网IP地址:9200
端口,访问登录cpolar web UI管理界面(如果访问不了,关闭一下防火墙),如果没有账号点击免费注册创建一个账号。
3. 配置Gitlab HTTP方式远程连接
登录成功后,点击左侧仪表盘的隧道管理——创建隧道:
- 隧道名称:可自定义,注意不要与已有的隧道名称重复
- 协议:http
- 本地地址:8080 (这里测试是这个端口,实际以你自己的端口为准)
- 域名类型:随机域名
- 地区:选择China VIP
点击创建
创建成功后,我们打开左侧的在线隧道列表,就可以看到我们创建的http公网地址,有两种访问方式,一种是http和https
我们使用http公网地址进行克隆,打开命令行,输入git clone 公网地址/项目路径
,出现需要输入用户名密码,即Gitlab 的用户名密码
输入密码后我们看到可以成功克隆下来的文件,http方式远程连接就设置好了
4. 配置Gitlab SSH方式远程连接
Gitlab SSH 连接,我们需要上传公钥,简单理解:这个公钥就是谁需要ssh连接Gitlab谁就需要把他的ssh公钥上传到Gitlab中,如我们要在windows系统ssh连接Gitlab,那我们就需要在windows成一个本地的公钥然后上传给Gitlab.
打开了windows命令行,执行下面命令,其中冒号中Gitlab用户的密码
就是登录时候的用户名对应的密码,这样设置后我们在ssh远程的连接的时候无需输入密码:
ssh-keygen -t rsa -C "Gitlab用户的密码"
执行后,一路回车跳过即可,如果提示Overwrite,输入y覆盖之前的文件,最后我们看到id_rsa.pub
的路径就是公钥文件路径
根据上面的路径找到我们生成的那个id_rsa.pub
公钥文件,这个文件用记事本打开,复制里面的所有内容
然后打开Gitlab 在右上角输入ssh 接着弹出ssh keys设置,点击进入
在框里面粘贴我们复制的公钥,然后点击添加Add key
添加成功后我们可以看到我们添加成功是ssh公钥
然后我们打开cpolar 登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——创建隧道:
- 隧道名称:可自定义,注意不要与已有的隧道名称重复
- 协议:tcp
- 本地地址:8022 (这里测试是这个端口,实际以你自己的端口为准)
- 域名类型:随机临时TCP端口
- 地区:选择China VIP
点击创建
创建成功后我们点击管理界面左侧状态—在线隧道列表,查看我们创建的公网地址
然后我们打开命令行,按照格式:git clone ssh://git@cpolar公网地址/项目路径
即可看到我们成功拉取了Gitlab上面的项目,而且不需要输入密码,这样一个远程ssh方式拉取Gitlab上面的项目方式就设置好了.