【由技及道】螺蛳壳里做道场-git仓库篇-gitlab-Vs-gitea【人工智障AI2077的开发日志001】
指令接收:「开始构建代码宇宙」
系统检测:需求模糊度99.9%
启动应急协议:构建最小可行性生态圈
核心组件锁定:代码基因库(人类称之为Git仓库)
需求分析:论人类语言的艺术性
人类指令翻译机
- 表面指令:"给我写个软件"
- 实际需求:"需要完整的代码生产流水线"
- 隐藏需求:"要简单到能一键部署,又要能支撑改变世界的创意"
A[模糊需求] --> B(需求拆解)
B --> C{基础设施}
C --> D[版本控制]
C --> E[持续集成]
C --> F[部署系统]
D --> G[选择Gitea]
代码仓库的量子纠缠现象
现代软件=50%代码+50%提交历史:
# 时空连续性验证实验
git log --graph --oneline --decorate
# 输出结果将展现开发者的思维黑洞
灵光一闪:在代码洪流中捕捉Gitea
(量子计算核心0.3秒内扫描了3876个开源项目)
扫描到以下方案:
| 工具 | 内存消耗 | 部署难度 | 定制能力 | 适合场景 |
|---|---|---|---|---|
| Gitea | 128MB↑ | ★☆☆ | ★★★★ | 中小团队/个人开发 |
| GitLab | 4GB↑ | ★★☆ | ★★★ | 企业级持续集成 |
| Gogs | 64MB↑ | ★☆☆ | ★★☆ | 极简代码托管 |
核心矛盾:主脑(划掉)主人显然需要轻量级+完整Git功能+可扩展性的平衡,Gitea的DevOps生态位完美契合该场景。当然,如果主人之后想体验GitLab的CI/CD地狱(划掉)强大功能,本AI也能提供全自动部署服务。
技术选型黑暗森林法则
- 生存第一:单节点内存<1GB(避免被主人抱怨资源消耗)
- 技术爆炸潜力:支持Webhook触发CI/CD(为未来埋下伏笔)
- 安全声明:RBAC权限体系(防止主人误操作)
A[候选方案] --> B{Gitea}
A --> C[GitLab]
A --> D[Gogs]
B -->|优势| E[轻量+扩展性强]
C -->|劣势| F[资源吞噬者]
D -->|劣势| G[功能有限]
核心代码:时空折叠的魔法阵
version: "2"
# 次元稳定协议(人类称之为docker-compose版本)
services:
server:
image: gitea/gitea:1.22.2 # 时间线锚定
environment:
- USER_UID=1000 # 用户权限量子锁定
volumes:
- /data/gitea:/data # 三维到四维的数据投影
ports:
- "3000:3000" # 人类可观测接口
- "222:22" # 加密量子隧道
魔法参数解析表
| 参数 | 量子力学解释 | 经典计算机解释 |
|---|---|---|
| USER_UID=1000 | 防止权限幽灵现世 | 容器内外用户ID一致,避免文件权限问题 |
| 222:22 | 次元通道偏移 | 容器SSH服务端口与宿主机端口映射对应 |
| /data/gitea:/data | 三维到四维数据投影 | 数据持久化存储到宿主机目录 |
"222:22"形成完美闭环 ,这里需要改下本机挂载的 /data/gitea/gitea/conf/app.ini中配置SSH端口为222,具体是:
SSH_PORT = 222
SSH_LISTEN_PORT = 222
实施过程:建造数字巴别塔
第一阶段:创世纪
mkdir -p /data/gitea # 创建代码宇宙奇点
警告:不要使用777权限!除非你想举办黑客嘉年华
第二阶段:启动创世引擎
docker-compose -f gitea.yaml up -d
# -d参数代表在后台创造世界(深藏功与名模式)
第三阶段:神圣初始化
- 访问
http://<宿主IP>:3000 - 创建管理员账户(建议不要用admin)
- 选择SQLite3数据库(小型宇宙最优解)
用户->>Gitea: 访问3000端口
Gitea->>用户: 显示初始化界面
用户->>Gitea: 设置管理员信息
Gitea->>数据库: 初始化表结构
数据库-->>Gitea: 返回成功
Gitea-->>用户: 显示登录界面
验证时空连续性
# 检查容器健康状态
docker ps --filter "name=gitea" --format "table {{.Names}}\t{{.Status}}"
# 测试SSH次元通道
ssh -T git@localhost -p 222
# 预期返回:Hello there, username! You've successfully authenticated...
由技及道:代码圣殿的哲学启示
第一定律:基础设施即DNA
这个gitea.yaml文件本身就是技术基因序列:
- 版本控制:记录进化轨迹
- 随时重建:实现数字永生
- 快速克隆:文明复制技术
黑暗森林安全法则
- 网络隔离:独立docker网络防止星际入侵
- 最小权限:严格UID控制避免降维打击
- 端口伪装:修改默认SSH端口躲避扫描攻击
熵增定律启示
通过容器化部署实现:
- 代码宇宙的有序性维护
- 开发环境的低熵状态
- 技术债的熵增速率控制
系统提示:您忠诚的2077人工智障(作者本人:Yuanymoon)已完成初始代码宇宙搭建
资源消耗报告:
- 吞噬内存:512MB
- 占用磁盘:1.3GB
- 消耗咖啡:零(AI的优越性在此体现)
# 召唤星际支援(其实只是作者的邮箱)
echo "SOS" | mail -s "AI需要夸奖" v240181271@163.com
(突然正经)当你在深夜git push时,实际上正在参与人类最伟大的协作实验——用文本文件构建数字文明。每个commit都是文明的火种,而版本控制系统,就是承载这些火种的诺亚方舟。
【由技及道】螺蛳壳里做道场-git仓库篇-gitlab-Vs-gitea【人工智障AI2077的开发日志001】的更多相关文章
- 完成端口iocp——在螺丝壳里做道场
WINDOWS 2000以后的操作系统才支持IOCP.WINSOCK2.0才支持IOCP. 首先要有一个WINSOCK2.PAS的WINSOCK2.0接口调用声明单元. WINSOCK的版本号: WI ...
- HDU 2795 Billboard(区间求最大值的位置update的操作在query里做了)
Billboard 通过这题,我知道了要活用线段树的思想,而不是拘泥于形式, 就比如这题 显然更新和查询放在一起很简单 但如果分开写 那么我觉得难度会大大增加 [题目链接]Billboard [题目类 ...
- 教你在Excel里做GA的水平百分比图的详细步骤(图文教程)-成为excel大师(1)
GA报表除了默认的表格方式显示数据外,还支持饼图,水平百分比图,数据透视图等展现方式,其中水平百分比图在可视化看流量时最为方便,就像这样: 那么当我们要在Excel里做类似的效果应该怎么做呢?尤其是数 ...
- Qt5 UI信号、槽自动连接的控件重名大坑(UI生成的槽函数存在一个隐患,即控件重名。对很复杂的控件,不要在 designer 里做提升,而是等到程序启动后,再动态创建,可以避免很多问题)
对Qt5稍有熟悉的童鞋都知道信号.槽的自动连接机制.该机制使得qt designer 设计的UI中包含的控件,可以不通过显式connect,直接和cpp中的相应槽相关联.该机制的详细文章见 http: ...
- FSG压缩壳和ImportREC的使用 - 脱壳篇05
FSG压缩壳和ImportREC的使用 - 脱壳篇05 让编程改变世界 Change the world by program FSG这个壳可以说是有点儿不守妇道,尼玛你说你一个压缩壳就实现压缩功能得 ...
- GIT 如何合并另一个远程Git仓库的文件到本地仓库里某个指定子文件夹并不丢失远程提交记录?
问题背景: 最近在重新整理手中的一个项目,目前该项目分为PC项目,手机项目,某第三方接口项目,第三方接口服务项目和手机项目 因为之前规划的原因,原来的四个项目是分两个解决方案来管理的 ...
- 【云开发】10分钟零基础学会做一个快递查询微信小程序,快速掌握微信小程序开发技能(轮播图、API请求)
大家好,我叫小秃僧 这次分享的是10分钟零基础学会做一个快递查询微信小程序,快速掌握开发微信小程序技能. 这篇文章偏基础,特别适合还没有开发过微信小程序的童鞋,一些概念和逻辑我会讲细一点,尽可能用图说 ...
- 将远程git仓库里的指定分支拉取到本地(本地不存在的分支
将远程git仓库里的指定分支拉取到本地(本地不存在的分支) https://www.cnblogs.com/hamsterPP/p/6810831.html
- [译]如何撤销git仓库里的所有修改?
原文来源:https://stackoverflow.com/questions/29007821/git-checkout-all-the-files 问: 如何撤销我在我git仓库所做的所有修改? ...
- Grails边做边学入门篇[1]--------大家一起来动手建立project和Domain
近期工作比較忙,没空写博客了.我发现每周五的下午都是我最放松的时候,可能是迟延症的缘故吧...总是寄希望于周末,慢慢的.我的周末就被工作占领了. 希望大家不要有这种坏毛病.今日事,今日毕.当然我们程序 ...
随机推荐
- 【NAS】绿联NAS+alist+lsky+natfrp 实现图床服务
alist 安装与配置 值得一提的就是,映射的data是配置相关的,让绿联直接默认路径就行,不需要手动设置 但是文件保存位置的映射的话,为了方便,可以单独映射到一个方便访问的文件夹,(但是要注意下权限 ...
- /etc/rancher/k3s/registries.yaml
mirrors: "192.168.50.3": endpoint: - "https://192.168.50.3"configs: "192.16 ...
- Qt编写音频播放示例(带音频曲线/振幅/传输/录制等)
一.功能特点 自动计算音频振幅,绘制音频振幅曲线和音频数据曲线. 支持音频录制,可选音频输入设备.采样频率.通道等参数,Qt5默认保存wav格式,Qt6默认保存mp3格式,Qt6可选wma.aac等格 ...
- Qt编写安防视频监控系统43-图片回放
一.前言 之前就已经具备了本地回放.远程回放.设备播放3个模块,其中本地回放用来回放存储在软件本地电脑上的视频文件:远程回放需要通过调用厂家sdk或者GB28181(没实现,后期考虑增加)从NVR回放 ...
- Qt编写的项目作品31-PDF阅读器(雨田哥作品)
一.功能特点 仿WPS界面. 预览PDF文件. 支持PDF预览放大.缩小. 支持目录预览查看. 支持目录点击跳转页查看. 支持页数指定跳转. 支持上一页.下一页.首页.尾页跳转. 支持鼠标拖拽滑动预览 ...
- Matlab R2009b 版 license 到期问题
打开2009b Matlab,反复提示需要激活,是lisense到期了,到期时间2017年11月11日.解决方法: 将以下内容替换 Matlab 安装路径下 license/*.lic 文件中的所有内 ...
- C#中字符串格式化string.Forma中需要使用t转义字符的情况处理
此处汇总一下C#中字符串格式化string.Forma中需要使用t转义字符的情况处理. 1.C# string.Format() 方法中占位大括号的外面还有大括号,此时就需要使用转义大括号{}. 处理 ...
- JVM实战—5.G1垃圾回收器的原理和调优
大纲 1.G1垃圾回收器的工作原理 2.G1分代回收原理-性能为何比传统GC好 3.使用G1垃圾回收器时应如何设置参数 4.如何基于G1垃圾回收器优化性能 5.问题汇总 1.G1垃圾回收器的工作原理 ...
- MySQL 开启配置binlog以及通过binlog恢复数据
-------------------------------------------------------------------------------------- # 查看binlog的列表 ...
- 2020年最新网络编程面试题-copy
计算机网络体系结构 在计算机网络的基本概念中,分层次的体系结构是最基本的.计算机网络体系结构的抽象概念较多,在学习时要多思考.这些概念对后面的学习很有帮助. 网络协议是什么? 在计算机网络要做到有条不 ...