奔步对Visual Studio解决方案进行CI构建,并提供构建顺序依赖性。

问题描述 投票:0回答:1

经验丰富的开发人员第一次建立了奔步持续集成,我们有一个单一的解决方案,在该解决方案中包含多个项目。比如说Main、Services和Tests。测试有一个对Main.dll的引用,因此有一个构建顺序的依赖。我将奔步配置为针对解决方案运行,但我可以看到它在Main.dll被创建之前就执行了Tests的构建。这导致了它的失败,因为Main.dll不存在。

所以有两个问题。

  1. 我如何要求奔步在开始构建测试之前必须构建Main?
  2. 有没有办法让奔步只对 "Main "进行构建,以确认它是否成功构建?我的想法是,也许 "Main "没有被编译,因此被跳过,从而导致测试发现Main.dll丢失。

竹子的错误: CSC : 错误 CS0006。找不到元数据文件 "C:\bamboo...\PROGRAM\bin/Main.dll"。

还有 正如我所提到的, 在Visual Studio上,我看到

1>----Build started: Project: Main Configuration: Debug Any CPU
2>----Build started: Project: Services Configuration: Debug Any CPU
2> Services -> C:\Path\Program\Main\bin\Services.dll
1> Main -> C:\Path\Program\Main\bin\Main.dll
3>----Build started: Project: Test Configuration: Debug Any CPU
3>Tests -> C:\Path\Program\Tests\bin\Test.dll

而竹子则显示

1>----Build started: Project: Services Configuration: Debug Any CPU
1> Services -> C:\Path\Program\Main\bin\Services.dll
2>----Build started: Project: Test Configuration: Debug Any CPU
2> CSC : error CS0006: Metadata file 'C:\bamboo\...\Project\Main\bin\Main.dll' could not be found

asp.net .net build continuous-integration bamboo
1个回答
0
投票

所以,我们终于通过试错解决了这个问题.我们的IT管理员给了Bamboo-agent(用户)对确定的目录的完全访问权,但其他用户只是有Read访问权。我们最终不得不授予所有用户(Public)对该目录的完全权利访问。所以很明显,在需要权限更新teh applicationhost文件的任务过程中,进程使用了Bamboo-agent以外的账户。

© www.soinside.com 2019 - 2024. All rights reserved.