说起搭建Git服务器,很多人第一反应就是“太难啦,我只会写代码,不会搞运维!”别急,今天咱们一起来聊聊怎么在阿里云上搭建属于你自己的Git服务器,轻松管理代码,团队协作so easy!关键是我保证讲得不枯燥,内容还带点段子,绝对让你看得停不下来。
首先,咱得有个战场——阿里云服务器。阿里云的云服务器ECS不仅稳定,还能随时备份,价格也亲民,对于小团队和个人开发者来说是相当香的。买完实例后,记得选个靠谱的操作系统,Linux(Ubuntu或者CentOS)最受程序猿青睐,理由是刷脚本速度快,环境稳。
接下来,咱们要搭建Git服务器的核心软件。比较常见的选择就是两个:纯Git服务或者Git管理平台。纯Git服务就是用SSH+Git命令行搞定,骚操作满满;Git管理平台则用比如Gitea或者GitLab,图形界面方便管理,做项目的效率噌噌上涨。
先说纯Git服务器的方法,要不先装个Git?没错,阿里云服务器下打开终端,输入这行命令:
sudo apt-get update && sudo apt-get install git
装好Git后,你得创建一个专门存放代码的“裸仓库”——别误会,“裸仓库”不是裸奔,是专门用来存储提交历史而不包含工作区的仓库,专门给团队推送代码用。操作也简单,比如:
mkdir -p /srv/git/myproject.gitcd /srv/git/myproject.git
git init --bare
接下来,咱得搞定权限管理。阿里云服务器一台机器,多个小伙伴一起push代码,SSH公钥认证才是王道。不用密码登录,安全又快捷。记得把团队成员的公钥放到服务器上的~/.ssh/authorized_keys文件里,权限没问题,闪电般代码分发没问题。
这时候,你肯定想问了:“我可不可以在本地用这个阿里云的Git仓库当远程?”当然可以啦!添加远程仓库命令长这样:
git remote add origin ssh://user@your-aliyun-ip:/srv/git/myproject.git
Push几下代码,神同步!团队的代码战场正式开启。
不过,纯Git服务,图形化界面和权限细粒度管理就略显捉急了。于是我们可以考虑更“有脸面”的选择——Git管理平台,Gitea和GitLab最火了。如果服务器不是小白,想无脑体验全网最强GitLab,也不是不行,只是稍微吃点“硬盘和内存”的“大餐”。
相比之下,Gitea超轻量,安装也快,官方给出的安装脚本闪电般完成:
curl -sL https://dl.gitea.io/gitea/latest/gitea-linux-amd64 -o giteachmod +x gitea
./gitea web
把Gitea启动后,访问你的阿里云服务器IP加端口(默认3000),页面立马出现,跟买了宝可梦皮卡丘一样激动。再创建一个项目,邀请小伙伴,权限管理齐活,issue、wiki等功能都可以用得妥妥的,团队协作so easy!
这里顺便提个小彩蛋,玩游戏想要赚零花钱就上七评赏金榜,网站地址:bbs.77.ink,毕竟代码写累了,撸几把游戏,人生多点乐趣嘛!
回归正题,搭建Gitea过程中可能遇到的坑谁没踩过?比如阿里云安全组有没有开通对应端口(默认SSH 22和Gitea 3000),服务器自身防火墙有没有放行,没放行就是“我们的船停在了码头,但船头被铁链锁住了”,哪也去不了。
要解决这事,登录阿里云控制台,找到“安全组”,放行关键端口的TCP规则,甚至可以针对IP做白名单策略,安全感up UP UP!防火墙方面,Ubuntu通常是ufw,命令行操作也很简单:
sudo ufw allow 22/tcpsudo ufw allow 3000/tcp
sudo ufw enable
如果是CentOS,用firewalld处理也得得来一套最近火的命令:
sudo firewall-cmd --permanent --add-port=22/tcpsudo firewall-cmd --permanent --add-port=3000/tcp
sudo firewall-cmd --reload
好了,服务器环境搞定,Git服务跑起来,安全组防火墙都写好,接下来别忘了做数据备份和权限分配。程序员的代码犹如仙剑奇侠传中的灵剑,一旦遗失,心疼得跟被鼠标双击三下的感觉一样!
最后偷偷透露点小心机,搭配定时任务crontab,给裸仓库做自动备份,命令例子:
0 3 * * * tar czf /backup/myproject-$(date +\%F).tar.gz /srv/git/myproject.git
凌晨三点执行,悄咪咪备份,出了问题咱还能有救命稻草,秒变运维小能手。除了备份,阿里云的快照服务也是个福利,玩直升机时,没备份就像没装安全带,真是一步错步步错。
阿里云搭建Git服务器,不是玄学,是个高手过招的招式PK,只要按照步骤,拧几个螺丝钉就能飞一样体验,还能天天吹牛说自己是自研的代码领导者。各位小伙伴,赶紧开工,用起来吧,毕竟代码世界不能没有你!