标签: teamcity

如何配置TeamCity以执行干净构建而不删除NuGet包?

我正在使用TeamCity进行CI构建.为了简单起见,假设只有两个构建步骤:

  1. NuGet Installer - >创建packages文件夹并从NuGet.org下载
  2. Visual Studio(sln) - >构建代码

在这些运行之前,我希望恢复整个工作目录以匹配SVN repo; 删除bin/obj /其他可能已经进入的东西.只应下载SVN中的新变化,而不是整个仓库.

但是,不应该清理packages文件夹,因为下载这些文件需要太长时间.

我怎么能这样做?

我试过的一些事情:

  • "版本控制设置"页面上的"清理构建"复选框,但这将删除整个工作目录.
  • "编辑VCS根目录"页面上的"更新前还原"复选框.这不会影响bin文件夹,可能是因为它没有被SVN跟踪.

svn teamcity nuget

1
推荐指数
1
解决办法
2719
查看次数

避免在TeamCity构建作业中为Github pull请求构建/ refs/heads/master

我有一个作业设置,使用JetBrains博客上概述的方法,即使用具有分支规范的VCS根,从每个Github拉取请求构建合并提交+:refs/heads/pull/(*/merge).这很好 - 每次提交拉取请求或使用新提交更新拉取请求时,都会触发构建作业.

但是,它也会被触发更改master,例如合并拉取请求时.我有另一个工作,构建和测试对master的更改(也将成功的构建发布到我们的临时环境),所以我不想为这些更改运行此作业.

如何排除 master VCS根目录中的更改?

git teamcity

1
推荐指数
1
解决办法
2020
查看次数

Teamcity开始很慢

我在我的DigitalOcean Droplet中安装了一个Teamcity服务器,该机器是2核和4G内存.

我检查了日志,但似乎每件事情都是正确的.我把Teamcity放在我的nignx web服务器后面.

问题是有时Teamcity启动可能需要半个小时,而我无法获得Teamcity的任何信息

我只知道jvm正在运行,如果我通过ningx访问url我只得到502

teamcity teamcity-8.0

1
推荐指数
1
解决办法
1639
查看次数

TeamCity - 没有使用Octopus Deploy/Octopack生成的工件

我有一个Visual Studio项目,它在TeamCity中设置了一个构建任务,通过OctoPack(3.0.43)创建工件.接下来,部署任务,从构建任务任务(成功构建)接收输出NuGet包作为依赖项.

我已经尝试使用MsBuildbuild-runner和Visual Studio (sln)one 来设置构建任务,但在这两种情况下都没有创建工件.

我已将OctoPack NuGet包添加到我的Visual Studio项目中.

msbuild teamcity nuget octopus-deploy octopack

1
推荐指数
1
解决办法
1347
查看次数

文件内容替换器对工件没有影响

我正在使用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,它执行两个相关的事情:

  1. 将所有js文件移动到" output"文件夹;
  2. 将所有js文件压缩到" 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论坛上询问了这个问题.

teamcity teamcity-9.1

1
推荐指数
1
解决办法
1738
查看次数

使用hg清除时排除目录

我试图hg purge在我的存储库中执行一个但我需要node_modules从清除中排除一些目录(例如,和其他东西).

基本上,我想保留(不删除)这些目录,以避免每次都重新下载它们.

这是关于我的构建过程,它hg purge在开始新的构建过程之前运行,因此删除了被忽略的所有内容(列在其中.hgignore).我不希望这发生在目录node_modules和其他一些目录上.

有没有办法告诉Mercurial不要对某些目录进行清除?

version-control powershell teamcity mercurial purge

1
推荐指数
1
解决办法
394
查看次数

删除TeamCity中的旧版本后"重置"buildNumber

根据这个问题,我发现了如何删除Teamcity中的构建

这很好用.举个例子:我有20个构建版本,我删除了构建版本12到20个.所以我的最后一个构建版本是11.但是当我执行一个新版本时,它的构建版本为21.

是否可以在12号(再次)开始下一个构建?

我知道这不是一个好方法.但这是出于测试目的,我们不想要很多构建数量.我知道这不是我们将在真实环境中使用的东西.

.net teamcity build teamcity-9.0

1
推荐指数
1
解决办法
593
查看次数

应该为Docker中的TeamCity代理提供什么服务器URL?

问题.我正在尝试使用DockerUbuntu 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?使用DockerTeamCity配置中是否有任何隐含的步骤我想念?

linux teamcity continuous-integration docker

1
推荐指数
1
解决办法
1512
查看次数

Maven命令行参数中的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

1
推荐指数
1
解决办法
354
查看次数

使用Authenticationn / Access令牌访问TeamCity时出现错误401未经授权

尝试使用身份验证(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 2019.1帮助-管理访问令牌

Powershell 6-调用静态方法

powershell teamcity

1
推荐指数
1
解决办法
152
查看次数