使用gitblit搭建私有仓库,并使用git管理网站文件。
目的 搭建git私有仓库,并使用git高效地管理网站文件。
现状 不想公开代码仓库,也不愿意支付私有仓库的费用(对,就是抠),现自己手头上有服务器,就想着是不是可以搭建一个自己的git服务器?我觉得可以!另外,自己在管理网站的时候使用ftp进行更新,还要自己逐个找到新文件进行提交,哎哟喂,麻烦死啦!能不能一键更新到服务器?我觉得可以!
步骤
A、搭建git服务器:在windows系统的服务器上,使用gitblit搭建git服务器。
B、git免密码操作:在本地电脑上无密码进行git提交和更新。
C、服务器端文件自动更新:本地电脑提交后,服务器上能自动更新。
搭建git服务器
1、在服务器上安装java环境
2、安装gitblit下载,下载后将文件解压到你想放置的位置。
3、配置gitblit
打开程序目录下data文件夹的defaults.properties文件。
找到以下参数并自行设置
1 | #git服务器http端口 |
PS:很多其他教程还让大家设置server.httpBindInterface,这样就只能通过IP访问(如果是云主机还只能设置内网IP,外网IP设置不了),设置为空的话,不仅可以通过IP,还可以通过域名访问gitblit。还有很多让设置server.httpsPort和server.httpsBindInterface,没有花钱买SSL证书的小朋友就别瞎折腾了。
4、运行gitblit server
编辑程序根目录下的installService.cmd文件
1 | #根据服务器操作系统进行设置 |
使用cmd或powershell安装installService.cmd
按win+r键运行services.msc
找到gitblit服务并启动
浏览器里输入localhost:1001(按照你自己设置的http端口),能打开以下页面表示gitblit server运行成功。
5、外网访问设置
打开防火墙点击左侧的高级设置,在弹出来的页面新建端口号为1001和2002两个入站规则(按照你自己设置的http和ssh端口来,还有其他端口需要开放访问就继续新建),不清楚的→入站规则详细设置方法
入站规则设置成功的话,你就可以通过IP:port的地址进行访问,我是在本地电脑上测试的,我局域网内通过192.168.31.149:1001就可以访问了。
大家用云服务器的话,要添加安全组规则后才能访问,把需要开放的端口添加进去,例如,我要开放1001端口,那么就在弹出的页面中这样设置,端口范围:1001/1001、授权对象:0.0.0.0/0,其他用全部默认就好。
6、设置gitblit用户
登录默认管理员amdin,进入用户面板。
7、创建版本库
git免密码操作
回到本地电脑,先下载git,安装git后,复制ssh-keygen.exe所在的目录路径,添加到环境系统变量的path里。
鼠标右键“我的电脑”→“属性”→“高级系统设置”→“环境变量”→“系统变量”→“path”
打开终端,设置git用户名和邮箱。
1 | $ git config --global user.name "hehe" |
生成SSH密钥,“heheKey”只是别名,随便写。
1 | $ ssh-keygen -t rsa -C "heheKey" |
打开C:\Users\你的用户名.ssh文件夹,打开id_rsa.pub文件,复制里面的内容。
打开浏览器访问192.168.31.149:1001,登录hehe用户(具体按你自己设置的被授权的用户),进入用户中心。
把id_rsa.pub文件里的内容粘贴,添加SSH key。
复制版本库的ssh地址。
回到终端,克隆版本库。
不用输入密码,成功啦~!
服务器端文件自动更新
我还没有参透。。。等顿悟了就更新