关于持续构建中的分布文件的几点方法

最近在写一个关于agile的持续构建测试环境的perl script,主要是需要从服务器下载到最新的build,然后分布到各个client机器上。 把最新的build文件分布到client机器上,我们最常用的也就是ftp了,下面先讲讲应用ftp的情况。
    在windows上我们可以把ftp的操作命令写到一个config文件里面,然后利用ftp -s:ftp.conf命令执行即可获得最新的build文件。这样比较方便,有什么变化只需要更改此config文件即可。无需改动其他代码。
示例如下:
   
  1. open "host"
  2. "username"
  3. "password"
  4. binary
  5. prompt
  6. cd buildDir
  7. lcd clientDir
  8. mget *
  9. bye
将其保存到ftp.conf文件,然后只要执行ftp -s:ftp.conf命令即可。这样做比较方便,但是我们就得维护一个config文件。

还有一点就是这样不能在linux底下得到通用,因为linux下的ftp命令没有-s选项,所以就不能该方面不能实现跨平台。

此方法在windows上已经可以应用,如果可以识别操作系统,那么可以为linux寻找另一种方法,这也是我遇到的一个问题,开始我想把ftp.conf里的各条命令取出来然后在命令行里面逐条执行,这样也可以达到目的,但这样做很繁杂,而且易去维护。
这时,发现了linux的wget命令,该命令十分强大。首先介绍一下wget命令。

wget是一个从网络上自动下载文件的自由工具。它支持HTTP,HTTPS和FTP协议,可以使用HTTP代理.

所谓的自动下载是指,wget可以在用户退出系统的之后在后台执行。这意味这你可以登录系统,启动一个wget下载任务,然后退出系统,wget将在后台执行直到任务完成,相对于其它大部分浏览器在下载大量数据时需要用户一直的参与,这省去了极大的麻烦。

wget可以跟踪HTML页面上的链接依次下载来创建远程服务器的本地版本,完全重建原始站点的目录结构。这又常被称作"递归下载"。在递归下载的时 候,wget遵循Robot Exclusion标准(/robots.txt). wget可以在下载的同时,将链接转换成指向本地文件,以方便离线浏览。

wget非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性.如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕。如 果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载。这对从那些限定了链接时间的服务器上下载大文件非常有用。


所以运用此命令即可达到我们的目的。

  1. wget --ftp -user=username -ftp -password=pwd -N --timeStamping ftpAdress
需要指定ftp的用户名,密码。-N --timeStamping选项表示只下载更新的文件。
这样我们就可以实现linux上的下载了

后来听同事讲,也有一个windows上的小工具wget.exe,其不需要安装,直接运行即可,功能与linux上wget是相同的。所以最终可以把下载的代码都用wget来代替,因为其不是windows自带的,需要在windows上下载wget.exe。

这样就完成了分布build文件这一模块了。

关于如何来驱动这些命令的,会在以后讲解。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值