【GitLab私有仓库】如何在Linux上用Gitlab搭建自己的私有库并配置cpolar内网穿透?

在Linux上搭建GitLab私有仓库并使用cpolar配置内网穿透的步骤如下:

  1. 安装GitLab:



# 添加GitLab官方仓库
wget https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-14.9.2-ce.0.el7.x86_64.rpm/download.rpm
 
# 安装GitLab
sudo rpm -Uvh download.rpm
 
# 启动GitLab
sudo gitlab-ctl reconfigure
  1. 配置GitLab:



# 编辑GitLab配置文件
sudo nano /etc/gitlab/gitlab.rb
 
# 修改外部访问URL,将'http://your-domain.com'替换为你的域名或公网IP
external_url 'http://your-domain.com'
 
# 重新配置GitLab以应用更改
sudo gitlab-ctl reconfigure
  1. 安装cpolar:



# 下载cpolar客户端
curl -L https://www.cpolar.com/download/cpolar-release-`uname -i` > /usr/local/bin/cpolar
 
# 给予可执行权限
chmod +x /usr/local/bin/cpolar
 
# 创建服务文件
sudo nano /etc/systemd/system/cpolar.service
 
# 输入以下内容
[Unit]
Description=cpolar service
After=network.target
 
[Service]
Type=simple
ExecStart=/usr/local/bin/cpolar service
 
[Install]
WantedBy=multi-user.target
 
# 重新加载系统管理器配置
sudo systemctl daemon-reload
 
# 启动cpolar服务
sudo systemctl start cpolar.service
 
# 设置开机自启
sudo systemctl enable cpolar.service
  1. 使用cpolar创建隧道并映射到GitLab:



# 登录cpolar
cpolar login
 
# 创建有域名的内网穿透隧道,指定6paas的CVM_AUTH_TOKEN作为认证token
cpolar tcp 22 --region cn_vip --auth-token CVM_AUTH_TOKEN
 
# 记录分配的公网地址和端口号
  1. 配置SSH免密登录:



# 生成SSH密钥对(如果已有可以跳过)
ssh-keygen -t rsa
 
# 将公钥内容追加到GitLab的authorized_keys文件中
cat ~/.ssh/id_rsa.pub | ssh username@your-domain.com "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
 
# 在本地SSH配置文件中添加使用SSH隧道连接
Host your-domain.com
  HostName 127.0.0.1
  Port cpolar分配的端口号
  User git
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/id_rsa

现在,你可以通过在本地使用ssh git@your-domain.com来免密登录你的GitLab私有仓库,并且,任何能够访问你提供的域名或公网IP的人都可以通过cpolar隧道访问你的私有仓库。

最后修改于:2024年08月23日 12:47

评论已关闭

推荐阅读

Vue中使用mind-map实现在线思维导图
2024年08月04日
VUE
Web前端最全Vue实现免密登录跳转的方式_vue怎么样不登录返回首页,最强技术实现
2024年08月04日
VUE
vue3 项目搭建教程(基于create-vue,vite,Vite + Vue)
2024年08月04日
VUE
Vue-颜色选择器实现方案——>Vue-Color( 实战*1+ Demo*7)
2024年08月04日
VUE
Vue项目卡顿慢加载?这些优化技巧告诉你!_vue数据多渲染卡顿
2024年08月04日
VUE
vue中的keep-alive详解与应用场景
2024年08月04日
VUE
Vue、React实现excel导出功能(三种实现方式保姆级讲解)
2024年08月04日
vue-office/docx插件实现docx文件预览
2024年08月04日
VUE
java调用js文件的两种方法(支持V8引擎)
2024年08月04日
JavaScript:解决计算精度问题/mathjs/bignumber.js/big.js/decimal.js
2024年08月04日
两周从爬虫小白变大神 _yjs_js_security_passport
2024年08月04日
JS笔记(对象、函数、数组)
2024年08月04日
Markdown.js:强大的纯JavaScript Markdown解析器
2024年08月04日
Vue项目:js模拟点击a标签下载文件并重命名,URL文件地址下载方法、请求接口下载文件方法总结。
2024年08月04日
vue 父组件怎么获取子组件里面的data数据
2024年08月04日
VUE
个人开发实现AI套壳网站快速搭建(Vue+elementUI+SpringBoot)
2024年08月04日
el-table 表格封装并改造实现单元格可编辑
2024年08月04日
none
nodejs环境下创建vue项目、SSH密钥登陆!!!
2024年08月04日
vue+quill+element-ui实现视频、图片上传及缩放保姆级教程,轻松使用富文本
2024年08月04日
【three.js】22. Imported Models导入模型
2024年08月04日