如何通过svn,git进行优雅的代码集成

271 篇文章 0 订阅
119 篇文章 0 订阅

谈到代码集成,大部分人可能会想到各种的CI Server,比如CruiseControl、Hudson、Jenkins种种。这些持续集成的工具基本上都是将源码管理工具、构建工具、测试工具等集成起来通过统一的配置来实现多项目、松耦合、自动化、透明化的构建目标的。而深入到某个项目,人们通常是通过maven或一段shell脚本来管理代码间的复杂依赖关系及构建顺序的。很多场景下maven并不好用,比如构建iOS程序时。

我们公司使用的Jenkins构建iOS、Android程序时会调用一大段Shell脚本,项目中如果存在代码依赖(比如其他部门开发的SDK),则通过约定目录层次,通过shell 按顺序执行SVN命令分配签出代码后执行构建命令——这么干很丑!一方面,团队成员在每个人的开发环境上都要进行很多约定的设置才能开始工作。另一方面,外部依赖代码的版本不好管理。因此,通过研究,我决定将这些外部代码通过 svn externals来实现。不但开发环境配置简单了,Jenkins构建的代码也精简了不少。同样,我对我的静态博客中皮肤的依赖也改成了git submodule的方式。——这种动态关联,让人感觉轻松不少。

一、svn externals:

cd /path/to/your/codedir  
svn pedit svn:externals .

在打开的窗口中填入要依赖的外部代码路径,形如

localDir -r0000 http://the/outer/svn/url

其中,localDir -> 你的代码签出到当前路径后存放的目录名。-r0000 -> 限定svn版本号,可不填则将签出最新代码。
可以输入多行,部署更多的外部依赖。

:wq 保存后继续:

svn up  
svn ci -m 'add externals'

再检查一下依赖是否已经都设置好,是否可以build通过,就可以通知其他人签出了。

参考:svn externals 引入外部分支目录 学会使用svn:externals

二、git submodule:

以下是本博客代码如何引入主题的脚本:

cd /path/to/your/blog  
mkdir themes  
mkdir themes/puresam  
git submodule add git@github.com:hl85/catsup-theme-puresam.git themes/puresam  
git add .  
git commit -m "Add submodule puresam"  
git submodule init  
git push

参考:Git Submodule 的認識與正確使用!

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值