我们需要将Karma测试运行器集成到TeamCity中,为此我想给sys-engineer小脚本(powershell或其他):
从一些配置文件中获取所需的版本号(我想我可以把它作为注释karma.conf.js
)
检查是否在npm的全局仓库中安装了定义版本的karma runner
如果不是,或者安装的版本比预期版本旧:选择并安装正确的版本
运行: karma start .\Scripts-Tests\karma.conf.js --reporters teamcity --single-run
所以我真正的问题是:"如果安装了所需的软件包版本,如何检查脚本?".你应该做检查,还是npm -g install
每次都可以安全地打电话?
我不想总是检查并安装最新的可用版本,因为其他配置值可能会变得不兼容
Visual Studio 2010具有"发布"命令,允许您将Web应用程序项目发布到文件系统位置.我想在我的TeamCity构建服务器上执行此操作,因此我需要使用解决方案运行程序或msbuild.我尝试使用Publish目标,但我认为这可能适用于ClickOnce:
msbuild Project.csproj /t:Publish /p:Configuration=Deploy
Run Code Online (Sandbox Code Playgroud)
我基本上想要完成Web部署项目的功能,但没有加载项.我需要它来编译WAP,删除执行不必要的任何文件,执行任何web.config转换,并将输出复制到指定的位置.
我的解决方案基于Jeff Siver的回答
<Target Name="Deploy">
<MSBuild Projects="$(SolutionFile)"
Properties="Configuration=$(Configuration);DeployOnBuild=true;DeployTarget=Package"
ContinueOnError="false" />
<Exec Command=""$(ProjectPath)\obj\$(Configuration)\Package\$(ProjectName).deploy.cmd" /y /m:$(DeployServer) -enableRule:DoNotDeleteRule"
ContinueOnError="false" />
</Target>
Run Code Online (Sandbox Code Playgroud) 根据实际经验,我想问你哪个自动构建环境更好.我打算做一些.Net和一些Java开发,所以我想有一个支持这两个平台的工具.
我一直在阅读并了解CruiseControl.NET,用于stackoverflow开发,以及TeamCity,它支持在不同操作系统平台上构建代理并基于不同的编程语言.所以,如果你对这两者都有一些实际经验,你更喜欢哪一个?为什么?
目前,我最感兴趣的是该工具的易用性和管理,更不用说CC是开源的,而且当你有很多项目要运行时,TC在某些时候需要获得许可(因为,我需要它用于少量项目).
此外,如果有其他工具满足上述要求并且您认为值得推荐 - 请随意将其纳入讨论.
cruisecontrol.net build-automation teamcity continuous-integration cruisecontrol
我使用TeamCity,后者又调用msbuild(.NET 4).我有一个奇怪的问题,在构建完成后(如果它是一个成功的构建似乎没关系),msbuild.exe保持打开状态,并锁定其中一个文件,这意味着每次TeamCity尝试要清除其工作目录,它会失败,并且无法继续.
这几乎每次都会发生.
我真的迷失了这个,所以我会尽量提供尽可能多的细节.
/m
命令行参数(这意味着使用多个核心)External Tools\Telerik\Telerik.Reporting.Dll
.(External Tools
在类似的路径结构中,dir中还包含其他几个.DLL文件,这些文件永远不会导致此问题).目前,这是Telerik报告的试用版,以防万一.msbuild.exe *32
在任务管理器中列出的过程:我相信有7.使用Process Explorer中,他们看起来都像顶级工艺(无父母).它们全部使用20-50MB RAM和0.0%CPU.svn:mime-type = application/octet-stream
以前有人碰过这个吗?
我客户端解决方案中的一些项目有一个构建后事件:xcopy
构建输出到特定文件夹.这在本地构建时工作正常.但是,在TeamCity中,我偶尔会得到
xcopy [...]退出代码2
如果我使用常规copy
,它将退出代码1.我希望这与文件锁有关,虽然复制的特定文件不一样,所以可能只是锁定共享目标目录.我/y
用来不提示覆盖文件.
为什么在TeamCity中失败但在本地失败?
我们有几台构建机器,每台机器都运行一个TeamCity构建代理.每台机器都很强大,我们想在同一台机器上运行几个构建代理.
这可能,而不使用虚拟化?是否有TeamCity的高质量替代品支持这一点?
我有一个TeamCity服务器设置来完成我的CI构建.我正在构建和测试C#解决方案并运行一些自定义的MSBuild任务.其中一项任务是在构建输出中打印警告...
MSBuild命令行参数包含"/ property:"或"/ p:"参数.请改用Build Parameteres.
我不明白这意味着什么或如何删除它.谷歌不好(有或没有拼写错误).我从命令行运行任务(with /verbosity:diagnostic
)并且它没有出现,所以我相信它是一个TeamCity消息.
MSBuild任务是
<Target Name="InstallDb">
<MakeDir Directories="$(DbPath)" />
<Exec Command="sqlcmd -S .\sqlexpress -i db\OmnyxDatabaseDrop.sql" />
<Exec Command="sqlcmd -S .\sqlexpress -i db\OmnyxDatabaseCreate.sql -v DbPath="$(DbPath)"" />
<Exec Command="sqlcmd -S .\sqlexpress -i db\OmnyxDatabaseProgrammability.sql" />
</Target>
Run Code Online (Sandbox Code Playgroud)
相关的TeamCity步骤信息是
MSBuild版本:4.0
MSBuild ToolsVersion:4.0
运行平台:x64
目标:InstallDb
命令行参数:/property:DbPath=%env.DB_PATH%
我正在将TeamCity设置为我的构建服务器.
我已经设置了我的项目,它正在从subversion正确更新,并且构建正常.
下一个是什么?
理想情况下,我希望将其自动部署到测试服务器,手动部署到实时/临时服务器.
最好的方法是什么?
由于我使用的是C#/ ASP.Net,我应该在我的解决方案中添加Web部署项目吗?
我已经使用Selenium好几个月,我们用它来自动化我们的一些内部测试过程.脚本一直很好.我最近使用FF 27.01升级到C#2.40.0 webdriver,我们的脚本现在在随机位置失败,出现以下错误.
[Portal.SmokeTest.SmokeRunTest.Booking] TearDown method failed. OpenQA.Selenium.WebDriverException : The HTTP request to the remote WebDriver server for URL htt(p)://localhost:7055/hub/session/56e99e88-ba17-4d12-bef1-c6a6367ccc2f/element timed out after 60 seconds.
----> System.Net.WebException : The operation has timed out
TearDown : OpenQA.Selenium.WebDriverException : The HTTP request to the remote WebDriver server for URL htt(p)://localhost:7055/hub/session/56e99e88-ba17-4d12-bef1-c6a6367ccc2f/window timed out after 60 seconds.
----> System.Net.WebException : The operation has timed out
[09:01:20]
[Portal.SmokeTest.SmokeRunTest.Booking] TearDown method failed. OpenQA.Selenium.WebDriverException : The HTTP request to the remote WebDriver server for URL htt(p)://localhost:7055/hub/session/56e99e88-ba17-4d12-bef1-c6a6367ccc2f/element timed …
Run Code Online (Sandbox Code Playgroud)