簡體   English   中英

在Cruisecontrol中設置環境變量

[英]Set environment variable in Cruisecontrol

如何在Cruisecontrol中設置環境變量?

如果我嘗試這樣做:

<exec command="set PATH="
                workingdir="d:\AppLiteNew\Projects\"
                args = "%PATH%;D:\QtSDK\mingw\bin\"/> 

它不起作用,我得到的是:

[cc] Dec-13 13:30:28 ExecBuilder - 無法執行命令:設置PATH =參數:%PATH%; D:\\ QtSDK \\ mingw \\ bin \\

首先,你使用exec命令錯誤

命令已set且其參數應為PATH=%PATH%;D:\\QtSDK\\mingw\\bin\\

這應該工作:

<exec command="set"
  workingdir="d:\AppLiteNew\Projects\"
  args = "PATH=%PATH%;D:\QtSDK\mingw\bin\"/> 

其次,它不會產生影響

您設置的路徑僅對通過調用exec執行的shell /命令可用。 在通話之后,它將無法用於進一步的命令/執行。
您沒有說明您擁有的用例或您需要變量的位置,因此我只能猜測,您可以做什么。 您可以執行以下操作:

  1. 在Windows中直接設置Path,以獲取所有內容(如果可以的話)
  2. 編輯批處理文件,啟動cruisecontrol並在那里設置PATH
  3. 為需要PATH的命令創建批處理文件,並在那里設置PATH。
  4. 一些ant-tasks允許為它們指定環境變量

在CruiseControl.net中,您可以在任務配置中設置它們。 他們進入一個環境塊:

<environment>
    <variable name="MyVar2" value="Var2Value" />
</environment>

這是一個完整的示例:

<msbuild>
    <executable>C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\MSBuild.exe</executable>
    <workingDirectory>C:\dev\ccnet</workingDirectory>
    <projectFile>CCNet.sln</projectFile>
    <buildArgs>/p:Configuration=Debug /v:diag</buildArgs>
    <targets>Build;Test</targets>
    <timeout>900</timeout>
    <logger>C:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger>
    <environment>
        <variable name="MyVar2" value="Var2Value" />
    </environment>
 </msbuild>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM