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