关闭
搜索
搜索
本版
帖子
用户
热搜:
程序员
简洁模式
高级模式
用户组: 游客
消息
提醒
新听众
我关注的
帖子
道具
勋章
任务
设置
退出
请
登录
后使用快捷导航
没有帐号?
立即注册
设为首页
收藏本站
开启辅助访问
切换到窄版
登录
or
立即注册
快捷导航
搜索
首页
论坛
BBS
MCU单片机技术
程序员交流
极客DIY:树莓派+Git打造家用服务器!
[复制链接]
作者:
下星期去美国
版块:
›
嵌入式操作系统
›
linux
发布时间:
2020-3-30 09:40:49
1200
0
返回列表
下星期去美国
当前离线
注册会员
注册会员, 积分 127, 距离下一级还需 73 积分
注册会员
注册会员, 积分 127, 距离下一级还需 73 积分
积分
127
发消息
楼主
电梯直达
下星期去美国
发表于 2020-3-30 09:40:49
|
只看该作者
|
倒序浏览
|
阅读模式
说起 git,广大 IT 人士想必都不陌生。
这款出色的项目管理软件,来自天才少年 Linus Torvalds,他在创造 Linux kernel 之后便开发了 git,用于管理 Linux kernel 的源码。从此,越来越多的项目开始使用git作为自己的版本管理工具。
在我们日常工作和生活中,涉及到写代码或者写文之类的工作时,使用 git 可以很方便的管理我们的创作内容。下面就跟大家分享一下如何在自己家里搭建一个 Gitlab 服务器:
首先,我们要保证 git 服务器的稳定,7*24在线,性能要足够支撑稳定运行,现规划两种方案:路由器和树莓派;
因为家中的路由器性能略差,因此我选择这款树莓派4b(2G rom版),作为最新一代树莓派,它继承了树莓派家族便携、开源、接口丰富的特点,并且性能相对于树莓派3b+有较大升级,也是家用服务器的不二之选。
接下来介绍树莓派安装gitlab相关内容:
1.到gitlab官网获取gitlab-ce包的相关信息,因为gitlab做了树莓派的相关支持,可以直接通过官网wget下载对应版本,这里使用最新版本12.8.6作为gitlab服务器;
根据右侧的提示,我们可以添加相关远程仓库,并使用 apt-get 包管理工具进行在线下载安装;
在本地添加完相关仓库地址后,apt-get安装失败,后来选择直接下载对应 deb 包,使用 wget 尝试多次后依然失败,建议直接使用某雷下载 download.deb 包进行安装。
2.安装成功后工作:安装 deb 包耗时5分钟左右,安装完成后,因为 gitlab 使用的80端口被树莓派自带的 apache 服务占用,所以需要先停止 apache 服务,再进行 gitlab 的部署;
3.这时我们就可以运行gitlab-ctl reconfigure命令,来初始化gitlab服务器了,提示完成以后,可以通过在局域网内使用树莓派ip+80端口访问 Gitlab 界面,至此,gitlab的安装工作基本完成 。
进入Gitlab管理界面,来创建一个十分 niubility 的项。
4.现在我们在本地局域网内就能方便的使用git服务了,如果我们想更加愉快地在异地管理自己的项目,就要用到咱们内网穿透神器「花生壳」。
花生壳已经开放 phtunnel 免费嵌入式解决方案,相比传统的 pc 客户端映射内网服务,对于git服务是个更加合适的选择,于是我们将phtunnel 嵌入自己的树莓派。
首先登录oray开发者平台open.oray.com申请开发者权限,这里不再赘述,申请成功后拿到属于自己的 APPID 和 APPKEY;
然后就可以去下载树莓派 sdk 来进行嵌入了,打开压缩包以后看到下列四个包:
虽然本地的设备是aarch64,但树莓派官网下载的 Raspbian Buster 安装完成后是32位的,这里我们选择armv8版的包;
按照帮助文档尝试运行,扫码后使用调试帐号登录,提示登录成功,域名状态变为online;
通过本地管理接口也可以获取到账号信息;
现在phtunnel依然是前台运行状态,绑定完帐号信息之后重新启动,加上-d参数使程序后台运行,这次启动后程序会使用之前的配置文件,无需再次绑定,本地管理接口调用也验证了这个猜想;
添加一个到本地80端口的映射,就可以从外网访问 niubility 项目了
5.克隆到本地。点击clone后获取地址:
我们需要把前面的域名改为花生壳的映射域名:
就可以 git clone 了。
使用git clone命令克隆项目以后,在项目目录下使用 git remote -v 来查看当前克隆的项目路径;
此时 git remote -v中的信息已经变成了花生壳映射的地址,后续再继续进行git操作的时候,就不需要单独配置host或者是其他操作了。修改本地文件并 push:
6.制作开机启动。这里我们使用 systemd 来守护进程,systemd 即system daemon,是一个系统级的系统与服务管理器,在新版的 Linux 发行版中,代替了systemV,成为更主流的守护方式。
这里我们编写一个简单的phtunnel.service文件,使phtunnel可以进行开机启动,文件内容如下:
至此,我们的“微型·假装有公网ip版·Git服务器”就搭建完成了,又能和小伙伴们愉快地玩(zhuang)耍(bi)了.
后续我们可以使用 Gitlab + phtunnel 的 docker 镜像来更方便的创建一个 Gitlab 服务(相关镜像:gitlab/gitlab-ce:latestbestoray/phtunnel:latest),两个镜像均已支持 arm 平台,或者可以将 Gitlab 和 phtunnel 服务打包进一个自己的镜像;
现在搭建的git只支持http访问,后续添加https映射的方法需要继续研究.
手上另一台树莓派设备是树莓派zero W,相对于树莓派4b要更加小巧,后面会尝试将这部分剩余计算力充分利用起来,搭建一些有趣的个人网站。
花生壳PHTunnel采用C语言实现,支持TCP、UDP、HTTP、HTTPS协议,覆盖Windows、Linux、树莓派、Mac、安卓等主流操作系统;
可以集成嵌入到各种网络和智能IoT设备中,不需要公网IP,只要有网就能轻松穿透各种复杂的路由和防火墙,实现外网访问内网的各种应用。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有帐号?
立即注册
收藏
0
相关帖子
•
产业缺货背景下,STM32峰会都说了什么?
•
Xmanager使用教程:如何在Linux系统上安装Xterm应用
•
开源项目EasyDarwin编译:Linux系统下编译运行最新EasyDarwin的步骤介绍
•
一个惊人快速的终端录像工具,也能录制VSCode和Chrome窗口
•
硬核观察|Python之父对Rust、Go、Julia和TypeScript的看法
•
干货|手把手带你搞定4大容器网络问题
•
超详细的PyCharm教程,必须收藏!
•
Linux用户宝典:值得一用的5款远程桌面应用程序
•
对话胡伟武:和国产CPU一起突围的20年
•
《Linux内核编码风格》官方手册最新中译本
回复
使用道具
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
表情
@朋友
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
招聘&找工作
ARM
快速回复
返回顶部
返回列表