Git和夜间构建 - 如何高效地完成?

时间:2016-02-04 10:28:11

标签: git automation workflow nightly-build

我正在尝试创建一个node.js脚本,该脚本将运行git命令来执行夜间构建。我做了一些搜索,发现了各种各样的关于浅克隆,参考缓存,仅克隆一个分支等的内容。但是我找不到任何组合在一起的地方或示例来实现高效的构建系统。

以下是我想象中所需的工作流程:

  • 获取中央回购主分支的最新副本 - 我希望只有最低要求,但我不确定如何合并--depth 1 --single-branch如果它不会导致一些问题

  • 在一个专用文件夹中构建项目(它是PHP项目,所以我将运行作曲家,缩小等等 - 我已经为所有这些工作了node.js脚本)

  • 增加version.txt文件中的版本号(我有一个node.js脚本)

  • 将更新后的version.txt提交给本地主人(我可以使用浅的单分支克隆吗?)

  • 使用版本号

  • 标记最后一次提交
  • 使用标签推送到远程主服务器(我可以使用浅的单分支克隆吗?)

  • 删除克隆文件夹以获得下一次构建的干净副本

  • 部署到开发服务器(只在不同的存储库上运行git push

目前我打算在Azure VM上运行TeamCity。 Git repo在我的本地服务器上。我不确定我是否会继续使用此设置,因此我想在node.js脚本中执行大多数步骤,使其与平台/构建系统无关。

此工作流程是否可行或可能导致问题?此外,我是否可以使用缓存(git clone --reference)来加快速度(或public class MyAjaxClass { Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.ReadWrite public string SaveData (int count) { return something; } } public partial class webaccess: Page { protected void Page_Load(object sender, EventArgs e) { Ajax.Utility.RegisterTypeForAjax(typeof(MyAjaxClass)); } } I added below config handlers in web.config. <system.webServer> <validation validateIntegratedModeConfiguration="false" /> <modules> <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> </modules> <handlers> <remove name="WebServiceHandlerFactory-Integrated" /> <add verb="POST,GET" name="Ajax" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" /> <add name="ScriptHandlerFactory" verb="*" path="*.asmx" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> <add name="ScriptResource" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> </handlers> </system.webServer> ),还是我的情况多余?

0 个答案:

没有答案