1 背景
因为业务需求,使用python编写了一个银行卡流水智能识别与计算的程序,根据业务需求和产品规划,这个程序初期阶段不断更新的同时,还要被开发人员和风控人员使用。
对于开发人员,这套程序作为一个模块来调用,根据其传递的客户信息参数,从mysql数据库中读取流水信息,并返回结果,直接传递数据。
对于风控人员,这套程序则作为一个工具来使用,客户信息存放在excel文件中,程序读取excel文件,并将结果输出为一个excel表格。
原来是把这套程序通过.gitignore
文件屏蔽涉及客户信息谁的以及数据库配置文件后上传到github上,开发人员和风控人员在使用时,直接通过git clone
获取,如果我这边有更新了,就通知他们使用git命令更新。但是涉及客户信息谁的以及数据库配置文件还需要线下来传递,使用起来并不方便。
于是打算搭建git局域网本地服务器,查询了下资料,用了一个下午的时间搭建完成,目前 已经开始使用。记录下实现的过程与方法,下次如果再用到的话,可以少走一些弯路。
2 搭建过程与方法
搭建环境
ubuntu 18.04.02长期版
搭建过程
1 安装git
sudo apt install git
2 新建一个系统用户,用于git 服务器的访问与控制
指令如下:
sudo adduser git
也可以直接把系统中已存在的用户指定为git服务器的访问与控制账户。
修改用户密码的命令为:sudo passwd 用户名
我这里是新建了一个系统用户名:git
3 创建git本地服务器目录
可以创建也可以指定,目录一般要放在上一步新建或者指定的系统用户所在的目录下
我创建的目录如下/home/git/adas
说明:adas是公司简称
4 初始化git仓库
在/home/git/adas
目录下打开终端,运行命令
` sudo git init –bare adas.git`
成功后会创建一个git裸仓库,所谓的裸仓库就是没有工作区,进一步解释而言,就是你提交的代码不会在服务器目录下直接看到。你如果要查看这个裸仓库中的代码,需要先在其他地方git clone
一下才能看到。
5 指定访问权限
1
sudo chown -R git:git adas.git
chown[选项]...[所有者][:[组]]文件..
在命令此处的目的是指定文件的拥有者改为指定的用户或组
,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,
-R
处理指定目录以及其子目录下的所有文件
git:git
这个地方是我比较迷惑的,我不清楚这两个git哪个是我刚刚创建的用户名,查阅了一下资料,初步得出的结论是,前一个git
指的是用户名,后一个git
是组名。但后一个是组名我也没有完全理解,通过查询ubuntu的组`vi /etc/group’ 里面是有一个名为git的组,但还是没理解。
不影响使用,先解决当前的问题,就不深究了,先记录,有机会再去查阅一下相关的资料。
6 创建证书,指定局域网内可上传代码的电脑
这个时候,其实git本地服务器已经搭建完成了,可以在局域网其他电脑上使用 git clone
命令。
但是只能clone, 不能上传代码,如果想要上传代码,就需要在工作的电脑上创建证书,创建证书的指令:
ssh-keygen
创建完成后将id_rsa.pub
的内容写入/home/git/.ssh/authorized_keys
7 ok了,可以正常使用了。
参考资料:https://www.liaoxuefeng.com/wiki/896043488029600/899998870925664