我正在尝试创建一个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>
),还是我的情况多余?