我为与shell脚本的小型持续集成做了一个临时解决方案。 它从svn更新,然后将文件复制到站点的根目录。 所以它看起来像这样
cd ...
update svn
cp -R ... ...
然后把它放在crontab中。 好吧,它适用于温度。解决方案,但它想要做一些改进,并以某种方式定义svn已更改(出现新版本),并且仅在这种情况下复制文件(好吧,它与每分钟复制文件连接使服务器工作更慢)。
但我是linux的卑鄙用户:(
所以问题是: 如何使用bash脚本定义svn获得新提交,并且仅在这种情况下进行更新和其他内容,例如复制文件。
答案 0 :(得分:2)
您可以在目录中执行'svn info'(并使用awk | grep |您最喜欢的工具)来提取您已检出的修订版号。对您复制的位置执行相同操作。如果checkout目录中的修订号高于目标目录中的修订号,则执行复制。
假设您复制了包括.svn目录在内的所有内容。
如果你排除它们,那么你应该在更新之前'svn info',然后再次比较这两个版本。
答案 1 :(得分:-1)
停止。
为什么你会这样做?
有八十个完全免费,超级易于安装的CI工具,为什么在世界上你会开始用shell脚本和cron一起攻击自己?
除非您希望使用脚本/ cron技能,并希望将自己的CI构建为一个有趣的小场景,否则您只是在这里浪费时间。