0

我为与 shell 脚本的小型持续集成做了一个临时解决方案。它从 svn 更新,然后将文件复制到站点的根目录。所以看起来像这样

cd ...

update svn

cp -R ... ...

然后放到crontab中。嗯,它适用于温度。解决方案,但它希望做出一些改进并以某种方式定义 svn 已更改(出现新修订版),并且仅在这种情况下复制文件(好吧,它与每分钟复制文件的连接会使服务器工作更慢)。

但我是 linux 的普通用户 :(

所以问题是:如何使用 bash 脚本定义 svn 获得新的提交,并且仅在这种情况下进行更新和其他内容,例如复制文件。

4

2 回答 2

2

您可以在目录中执行“svn info”(并使用 awk|grep|您最喜欢的工具)来提取您已签出的版本号。对复制到的位置执行相同操作。如果检出目录中的修订号高于目标目录中的修订号,则进行复制。

假设您复制了包括 .svn 目录在内的所有内容。

如果您排除它们,那么您应该在更新之前和之后再次“svn info”,并比较两个修订版。

于 2012-09-01T20:48:28.780 回答
-1

停止。

你到底为什么要这样做?

有 80 个完全免费、超级容易安装的 CI 工具,你为什么要开始使用 shell 脚本和 cron 来破解你自己的工具?

除非您正在寻找编写脚本/ cron 技能并希望将构建自己的 CI 作为一个有趣的小场景来玩,否则您只是在浪费时间。

于 2012-09-04T14:08:03.563 回答