是否可以自动从任何VCS结账?

时间:2008-08-18 13:53:54

标签: svn version-control cvs versions

让我们采用Web开发环境,开发人员将项目签入本地计算机,对其进行处理,并检查开发变更。 这些变化在开发过程中进一步测试,并定期(例如每周,每月等)实时移动 是否可以自动移动最新的标记版本(而不是最新的签名,因为它可能不是100%稳定),例如周一早上8点,使用脚本或内置功能VCS?

6 个答案:

答案 0 :(得分:2)

是的,有可能。这通常是continuous integration tools提供的功能。通常,他们将从版本控制中获取最新的源代码,构建项目,测试它(运行单元测试)并可能将其部署在(测试)服务器上。

如果您不需要所有这些步骤,您可以轻松地使用某些shell脚本或类似步骤(例如从版本控制结帐并复制到服务器上的生产文件夹)。

答案 1 :(得分:1)

当然,但确切的产品可能取决于您使用的VCS。

您可能想要做的是,有一些不同的分支,并在您进步时向上迁移。例如,开发 - > Stable-Dev - > Beta - >生产。然后,您只需为测试人员自动更新到最新版本的Stable-Dev和Beta,并始终能够随时部署新的生产版本。

答案 2 :(得分:1)

你可以用命令行完成你用cvs做的任何事情,我很确定svn是一样的。只需计算出你想要的功能,并将其粘贴在shell脚本或命令文件中。

答案 3 :(得分:1)

我遇到过的唯一两个是SVN和Mercurial。对于Mercurial,您可以指定要更新的分支(假设为默认值),然后只要将分支合并为默认分支,就可以运行服务器:

hg update

将您的存储库更新为您将其设置为的最新版本的分支。

SVN是相同的概念,您只能查看最初想要的分支

svn co http://host/repository/branchname/

然后使用cron作业ala

更新服务器
svn up

理论上,任何支持分支的VCS(所有优秀的分支都是:git,mercurial,SVN等等)应该可以做类似的事情。

答案 4 :(得分:0)

我怀疑很多VCS直接提供这种能力,但脚本应该非常简单。基于日期或分支的结账。

答案 5 :(得分:0)

作为后续行动,

我认为应用程序应该完成一项工作并且做得很好。通常,如果你开始将工具组合到一个产品中,它们都不会闪耀,而且大多数都会“很好”,等等。

如果我正在做这样的事情,我会得到类似SVN,ANT和Subversion Ant Library(http://ant.apache.org/antlibs/svn/index.html)的东西 - 你的millage可能会有所不同。