Erlang游戏源码加密以及SVN自动提交

1. 前言

首先,为啥需要保密源码就不多说了.
其次,公司经费有限,物理隔绝实现不了,只能考虑软隔离.
最后,这种方法依然防止不了程序员自身,所有程序员都有权限.

2. 原理

我们使用的版本管理器是SVN.
基本原理就是使用两个SVN:源码SVN,beamSVN.源码SVN保存erl文件,beamSVN只有非debug编译之后的beam文件.程序拥有源码SVN权限,其他人拥有beamSVN权限.
当程序提交代码之后,SVN钩子自动编译,将变动的文件提交到beamSVN,始终保持两个SVN的.beam文件相同.这样既让非程序拥有最新的代码,又隔离了源码,使之只握在程序员手中.如果出了问题,直接一个个排查程序员即可,大大缩小了范围.

3. 脚本

make_all.sh
这个脚本主要的作用是拉取源码SVN,编译,对比差异,然后将差异提交到beamSVN上面去.
请注意:1.文件结构有特殊要求xxx/int|patch|release结构才行.2.里面的编译脚本需要自己根据情况补充.
auto_svn.info make_all.sh的配置文件,配置了一些必须的参数

#!/bin/bash
#当前物理机svn的安装目录
svn_local_dir="/usr/local/usvn/path/"

#源码SVN路径
source_url=http://xxxxxxx/trunk
svn_user=user
svn_password=password


#ebin SVN路径
ebin_url="http://yyyyyy/trunk"
user_ebin=user
password_ebin=password
#当前版本库自动更新脚本目录
DIR="/data/auto_svn"
#erl
erlc="/usr/local/erlang/bin/erlc"
erl="/usr/local/erlang/bin/erl"
#编译脚本路径-相对于boot目录配置一个相对路径即可(使用tools+Emakefile编译)
make_path="./"

version.txt配置了需要更新的版本,比如需要更新int版的时候,配置int即可.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值