我在巡航控制配置文件中创建了一个变量
我想稍后在执行期间更改巡航控制中这个变量的值。基本上我想要的是在执行task1时,'MyVariable'的值应该是'val1',而在执行task2时,值应该是'val2'。
我想要的另一件事是,不应该有来自 ui 的手动交互或手动分配,值应该自动更改。
任何人都可以帮助我实现这一目标吗?任何建议/意见都会有很大帮助。提前致谢。
我在巡航控制配置文件中创建了一个变量
我想稍后在执行期间更改巡航控制中这个变量的值。基本上我想要的是在执行task1时,'MyVariable'的值应该是'val1',而在执行task2时,值应该是'val2'。
我想要的另一件事是,不应该有来自 ui 的手动交互或手动分配,值应该自动更改。
任何人都可以帮助我实现这一目标吗?任何建议/意见都会有很大帮助。提前致谢。
我正在使用以下方法来编译一个具有不同参数的 MSBuild(ccnet 1.8):
<cb:define name="Build">
<msbuild>
<some_parameter>$(MyVariable)</some_parameter>
<other_parameter>parameter_value</other_parameter>
</msbuild>
</cb:define>
然后在任务部分:
<cb:Build MyVariable="val1" />
<cb:Build MyVariable="val2" />
如果 MyVariable 的这些值是恒定的(我的意思是对于给定的任务总是相同的),那么我会使用preprocessor。然后您可以使用 cb:scope 覆盖该值。
例如,这是我对项目配置所做的:
<cb:scope
Project.Name = "ProjectName - Feedback - Integration tests"
Project.ShortName = "project-name-feedback-quick"
Project.Category = "Project Name - Feedback"
Project.Description = "Run integration tests"
>
<project name="$(Project.Name)" description="$(Project.Description)">
<artifactDirectory>$(CIRootFolderPath)\$(Project.ShortName)\Artifacts</artifactDirectory>
<workingDirectory>$(CIRootFolderPath)\$(Project.ShortName)\WorkingDir</workingDirectory>
<state type="state" directory="$(CIRootFolderPath)\$(Project.ShortName)" />
<task>
所以你会用块包围每个<cb:scope>
并在那里重新定义 MyVariable 的值。