作为一个运维工程师,需要把自己蹩脚的代码好好保存下来,多次修改代码后,管理起来也十分麻烦。代码托管服务最出名就是github,但本文在局域网用树莓派搭建代码托管服务svn,完成代码版本控制。Apache Subversion 通常被缩写成 svn,是一个开放源代码的版本控制系统,svn可以记住每一次文件的变动, 这样就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。
1、安装Subversion软件
sudo apt-get install subversion -y
2、创建代码仓库,路径可自己按照需要设置。
svnadmin create /home/pi/svnRepository
3、修改配置文件/home/pi/svnRepository/conf/svnserve.conf
取消下面三个参数前面的#,使用配置生效,注意要顶格。
#匿名访问的权限,可以是read,write,none,默认为read
anon-access = none
#认证用户的权限,可以是read,write,none,默认为write
auth-access = write
#密码数据库的路径,去掉前面的#
password-db = passwd
修改配置文件/home/pi/svnRepository/conf/svnserve.conf4、修改/home/pi/svnRepository/conf/passwd,创建用户。局域网不同用户需要不同的账户来使用,这样在代码修改是就可以显示谁新增或修改了代码,格式如下:
[users]
svnuser = 123456
5、重启svnserve服务。ps -ef | grep svnserver找到pid号,kill pid_number;
重新加载进程svnserver -d -r /home/pi/svnRepository 。
6、svn 不能打开文件 '*****/db/txn-current-lock': 权限不够,如果你遇到这个问题,可能是svnRepository 下面的文件夹db的权限问题,检查一下。
7、启动脚本。svnserver 不是开机启动的,需要每次使用前运行命令,下面的脚本就是开启svnserver。当然也可以将脚本做成服务放在/etc/init.d目录下设置为开机启动。
svnserver启动脚本8、客户端TortoiseSVN,在windows平台安装可视化客户端。看看效果,笔者修改了conn.php后,日志就可以显示改变。
TortoiseSVN查看版本区别9、鼠标右键有svn工具。可以导入代码到服务器,也可以导出到本地,还有一个功能是检出check,和导出的区别就是她会跟踪变化,比如下图conn.php就会显示不一样。更新、提交就使用右键就可以完成。
svc检出导出或者检出时,可以选择版本。如果不知道版本可以显示日志查看具体的版本号。
根据版本号导出代码搭建完成,简单功能就是上传代码,导出/检出代码,主要使用就分成四个部分:
repository(源代码库):源代码统一存放的地方,相当于中央资料库。
Checkout(提取):当你手上没有源代码的时候,你需要从repository checkout一份。
Commit(提交):当你已经修改了代码,你就需要Commit到repository。
Update (更新):当你已经Checkout了一份源代码, Update一下你就可以和Repository上的源代码同步,你手上的代码就会有最新的变更。
其他复杂的功能就留待以后慢慢发掘了,解决冲突和分支管理等等。
网友评论