我正在使用TeamCity进行CI构建.为了简单起见,假设只有两个构建步骤:
在这些运行之前,我希望恢复整个工作目录以匹配SVN repo; 删除bin/obj /其他可能已经进入的东西.只应下载SVN中的新变化,而不是整个仓库.
但是,不应该清理packages文件夹,因为下载这些文件需要太长时间.
我怎么能这样做?
我试过的一些事情:
我有一个作业设置,使用JetBrains博客上概述的方法,即使用具有分支规范的VCS根,从每个Github拉取请求构建合并提交+:refs/heads/pull/(*/merge).这很好 - 每次提交拉取请求或使用新提交更新拉取请求时,都会触发构建作业.
但是,它也会被触发更改master,例如合并拉取请求时.我有另一个工作,构建和测试对master的更改(也将成功的构建发布到我们的临时环境),所以我不想为这些更改运行此作业.
如何排除 master VCS根目录中的更改?
我在我的DigitalOcean Droplet中安装了一个Teamcity服务器,该机器是2核和4G内存.
我检查了日志,但似乎每件事情都是正确的.我把Teamcity放在我的nignx web服务器后面.
问题是有时Teamcity启动可能需要半个小时,而我无法获得Teamcity的任何信息
我只知道jvm正在运行,如果我通过ningx访问url我只得到502
我有一个Visual Studio项目,它在TeamCity中设置了一个构建任务,通过OctoPack(3.0.43)创建工件.接下来,部署任务,从构建任务任务(成功构建)接收输出NuGet包作为依赖项.
我已经尝试使用MsBuildbuild-runner和Visual Studio (sln)one 来设置构建任务,但在这两种情况下都没有创建工件.
我已将OctoPack NuGet包添加到我的Visual Studio项目中.
我正在使用TeamCity的一个相对较新的功能:文件内容替换.在我目前的设置中,我的VCS中有一个version.js文件:
window["MyPlugin"].version = "1.0.##VCS_REVISION##.##CI_BUILD_NUMBER##";
Run Code Online (Sandbox Code Playgroud)
我使用File Content Replacer构建功能将最后一部分替换为:
%build.vcs.number%.%system.build.number%
Run Code Online (Sandbox Code Playgroud)
到现在为止还挺好!
我有一个相关的构建步骤.这是一个MSBuild步骤,但它除了调用a之外什么都不做ps1,它执行两个相关的事情:
output"文件夹;zips"文件夹中;这些也是我的两个工件(输出文件夹和zip文件).
但是,文件内容替换器会还原其更改,但此还原也会反映在工件nr 1中,这些工件是不受版本控制的文件(即使它们位于我的项目文件夹的子文件夹中).该version.jszip文件的文件没有恢复.
如果我将工件1更改为,my/output/folder => all.%build.vcs.number%.zip那么zip文件也将包含恢复状态而不是我想要的输出.
如何设置TeamCity以使工件文件不受此恢复的影响?或者我需要除此构建功能之外的其他内容吗?
我正在使用在Windows 2012 Server(VM)上运行的TeamCity 9.1.3 build 37176和用于评估目的的默认数据库.我正在使用TFS 2013作为我的VCS.
PS.我也在JetBrains论坛上询问了这个问题.
我试图hg purge在我的存储库中执行一个但我需要node_modules从清除中排除一些目录(例如,和其他东西).
基本上,我想保留(不删除)这些目录,以避免每次都重新下载它们.
这是关于我的构建过程,它hg purge在开始新的构建过程之前运行,因此删除了被忽略的所有内容(列在其中.hgignore).我不希望这发生在目录node_modules和其他一些目录上.
有没有办法告诉Mercurial不要对某些目录进行清除?
根据这个问题,我发现了如何删除Teamcity中的构建
这很好用.举个例子:我有20个构建版本,我删除了构建版本12到20个.所以我的最后一个构建版本是11.但是当我执行一个新版本时,它的构建版本为21.
是否可以在12号(再次)开始下一个构建?
我知道这不是一个好方法.但这是出于测试目的,我们不想要很多构建数量.我知道这不是我们将在真实环境中使用的东西.
问题.我正在尝试使用Docker在Ubuntu Linux 16.04.1 LTS上创建TeamCity基础结构(服务器和代理).我已经运行了一个带有jetbrains/teamcity-server映像的Docker容器,如本页所述.可以使用服务器的IP地址和端口8111通过Web浏览器访问TeamCity服务器.
现在我尝试使用本页所述的代理运行Docker容器.它写道:请注意,"localhost"通常不会工作,因为它将引用容器内的"localhost".好吧,当我向代理容器的运行脚本提供" http:// localhost:8111 ",或" http://127.0.0.1:8111 "或" http:// my_server_ip:8111 "时,我终于得到1 )"WARN - buildServer.AGENT.registration - 通过URL http:// localhost:8111(sic!always localhost)在服务器上注册时出错.将继续重复连接尝试."或2)"WARN - buildServer.AGENT.registration - 通过URL http:// localhost:8111/app/agents/protocols向服务器询问通信协议时出错."
此外,我试图揭示运行服务器的Docker容器的IP地址,并为代理运行脚本提供它.但结果是一样的.
问题.我应该提供什么服务器URL?使用Docker的TeamCity配置中是否有任何隐含的步骤我想念?
我们有一个CICD流程,其中定义的TC集合始终用于门控流程.有时它不需要运行所有测试,而是我们只想根据开发人员所做的更改来触发一组TC.我们的测试是基于黄瓜的用户故事,因此我们可以通过标签控制测试运行.我的想法是从teamcity的maven命令行参数字段中参数化cucumber.options,并让Dev/support人员根据需要定义标记.
如果我提到命令行参数为
-Dcucumber.options="--tags %env.test.scope%"
Run Code Online (Sandbox Code Playgroud)
我的mavenized项目得到的值为cucumber.options = "--tags @Sanity(假设env.test.scope值为@Sanity).如果你在这里仔细注意,我为什么要打开双引号?它破坏了我的TestRunner并且没有触发任何测试.如果我删除双引号,然后我得到mvn错误,因为@Sanity不被识别为有效目标(因为--tags和@之间的空间问题)如何定义我的参数(cucumber.options)值与空间?
teamcity continuous-integration cucumber continuous-deployment
尝试使用身份验证(JetBrains最近在TeamCity中添加的功能)访问TeamCity。该文档非常差,没有示例。只是对我不起作用。
执行Powershell指令
以下不是我尝试的唯一方法,但作为示例,发布了调用rest方法的命令,例如:
$body="<build branchName=`"development`" rebuildAllDependencies=`"true`"><buildType id=`"DevSandbox_TestArea_PageAutomation`"/></build>"
Invoke-RestMethod -Uri http://teamcity.my.domain.com/httpAuth/app/rest/buildQueue/ -Method Post -ContentType application/xml -Body $body -Headers @{Origin= 'http://teamcity.my.domain.com'; Authorization= 'Bearer tEamCitYauThtoKen'} -UseBasicParsing
Run Code Online (Sandbox Code Playgroud)
错误
出现以下错误:
Invoke-RestMethod : The remote server returned an error: (401) Unauthorized.
At line:1 char:1
+ Invoke-RestMethod -Uri http://teamcity.my.domain.com/httpAuth/app/r ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebException
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand
Run Code Online (Sandbox Code Playgroud)
谁能帮助我,标题和/或缺少的内容有什么问题?
进一步参考:
teamcity ×10
nuget ×2
powershell ×2
.net ×1
build ×1
cucumber ×1
docker ×1
git ×1
linux ×1
mercurial ×1
msbuild ×1
octopack ×1
purge ×1
svn ×1
teamcity-8.0 ×1
teamcity-9.0 ×1
teamcity-9.1 ×1