Visual studio 跨多个构建定义共享Git存储库目录
在VSTS中启动专用代理生成时,会为其分配一个目录,例如C:\vstsagent\U work\1\s 有没有办法将其设置为其他路径?在其他CI服务器(如Jenkins)上,我可以为作业定义自定义工作区。我正在处理一个巨大的monorepo,在同一个存储库中有几十个构建定义。在build agent计算机上共享一个目录(对我来说)是有意义的 对我来说,好处是我的构建可以使用来自上游存储库的预构建组件(如果它们已经构建)Visual studio 跨多个构建定义共享Git存储库目录,visual-studio,msbuild,azure-devops,azure-pipelines,Visual Studio,Msbuild,Azure Devops,Azure Pipelines,在VSTS中启动专用代理生成时,会为其分配一个目录,例如C:\vstsagent\U work\1\s 有没有办法将其设置为其他路径?在其他CI服务器(如Jenkins)上,我可以为作业定义自定义工作区。我正在处理一个巨大的monorepo,在同一个存储库中有几十个构建定义。在build agent计算机上共享一个目录(对我来说)是有意义的 对我来说,好处是我的构建可以使用来自上游存储库的预构建组件(如果它们已经构建) 感谢您的帮助否,它在VSTS生成系统中不可用 您可以更改代理的工作目录(C:
感谢您的帮助否,它在VSTS生成系统中不可用
您可以更改代理的工作目录(C:\vstsagent_work)(重新配置它并指定另一个工作文件夹),但它不会对不同的生成定义使用相同的源文件夹,该文件夹将为1、2、3….VSTS build始终会根据每个生成定义创建一个工作目录。这给您留下了两个选择:
我还建议您调查2017项目格式,这些格式在项目文件中使用新的
来获取包。新系统支持配置一个版本范围,该范围始终可以获取软件包的最新可用版本。这是一个更好的长期解决方案 自有代理还是私人代理?您看过Visual Studio 2017.3+中的NugetpackageReference
?这允许您设置一个版本规范,该规范将只获取最新版本,或者允许您使用MsBuild属性为引用设置与您自己的项目相同的版本。@jessehouwing,我正在使用私有代理。我真的不想再走努吉路线了。上一次我被严重烧伤了,管理起来很复杂。我想让事情保持简单,而当前的方法很简单,不幸效率低下。您是否在构建过程中设置程序集版本?您有一个或多个生成定义吗?每个构建定义都有自己的工作区,并从较旧版本的依赖项开始。如果是一个包含大量条件的生成定义,则每次都应将其重定向到同一个工作区/repo。您可以关闭“获取源”步骤,并在生成的第一步调用git.exe
或tf.exe
。这样,您可以完全控制位置,但必须手动操作。