我在ubuntu()上使用TeamCityTeamCity Professional 9.1.7 (build 37573)
.最近有一些自动合并的问题(git).从以前的工作开始,我没有改变配置中的任何内容.我试图删除工作目录.它只对几次合并有所帮助.
症状: 构建日志看起来很干净,我在构建概述中得到了这个:
Failed to merge sources in VCS root foo. Merge error 'git fetch' command failed.
stderr: git@bitbucket.org:foo/foo.git: channel is not opened.
exit code: 1.
Run Code Online (Sandbox Code Playgroud)
虽然,在运行此代理的代理中我得到一个完全不同的错误teamcity-vcs.log
:
[2016-03-30 15:14:31,722] INFO - jetbrains.buildServer.VCS - [/home/ubuntu/BuildAgent/work/7676127c0a691f42]: /usr/bin/git show-ref refs/remotes/origin/foo
[2016-03-30 15:14:31,775] INFO - jetbrains.buildServer.VCS - [/home/ubuntu/BuildAgent/work/7676127c0a691f42]: /usr/bin/git log -n1 --pretty=format:%H%x20%s 193f46d88205c5e419a8a7458e742ce9b598cca8
--
[2016-03-30 15:14:31,797] WARN - jetbrains.buildServer.VCS - '/usr/bin/git log -n1 --pretty=format:%H%x20%s 193f46d88205c5e419a8a7458e742ce9b598cca8 --' command failed.
stderr: fatal: bad object 193f46d88205c5e419a8a7458e742ce9b598cca8
[2016-03-30 …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用程序集信息修补程序来创建类似于以下内容的版本号:
1.2.3.1a3c19e
最后一位是git short hash.
我已经尝试使用powershell脚本构建步骤来创建短哈希(因为我找不到具有它的变量)并将其添加到系统变量但是这个构建步骤似乎在汇编信息修补程序之后运行,所以不是很多使用.
这是此问题的更通用版本:如何仅在特定分支上运行构建步骤?
例如,我可以使用PowerShell脚本,如果运行的MSBuild '%teamcity.build.branch.is_default%' -eq 'true'
或者'%teamcity.build.branch%' -eq 'master'
后来我会想念随附的TeamCity的MSBuild建立亚军可折叠的日志.有没有更简单的方法来有条件地运行构建步骤?
有谁知道是否可以在TeamCity中复制VCS Root?进入编辑页面并删除Actions组合的常规技巧不起作用,只有Move作为选项.
我正在尝试使用TeamCity/MSBuild构建我的解决方案.这是一个WebAPI项目,它在PCL中与移动客户端共享一些实体.
我看到有一些警告要在构建服务器上安装PCL引用库,我认为我已经排序(在构建服务器中构建可移植类库项目失败)
但是,我在构建可移植类库时遇到错误,如下所示:
[11:20:49][Doctrina.Pcl.Entities\Doctrina.Pcl.Entities.csproj] _GetSdkToolPaths
[11:20:49][_GetSdkToolPaths] GetSdkPropertyValue
*[11:20:49][GetSdkPropertyValue] C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\AppxPackage\Microsoft.AppXPackage.Targets(975, 5): error APPX3212: SDK root folder for 'Portable 7.0' cannot be located. See http://go.microsoft.com/fwlink/?prd=12560&pver=1.0&plcid=0x409&ar=MSDN&sar=PlatformMultiTargeting&o1=Portable&o2=7.0 for more information.*
"帮助"链接没有任何用处,并且在寻找任何解决方案方面似乎都非常具有谷歌抗性.
我根本没有在构建服务器上安装Visual Studio 2015,但我已经安装了PortableClassLibrary工具,从我的本地PC上复制了参考目录等,根据其他相关的SO问题.
请帮忙?
我需要在TeamCity构建步骤中执行git命令.
这些git命令需要为git repo使用基于SSH的url,以便作为git服务器的特权用户进行身份验证(因为这些git命令实际上会修改git repo,而不仅仅是读取它).
我知道这个问题.
我已经在VCS结帐模式"自动代理".VCS根目录已正确配置ssh并且运行良好.
但是,正如文档中所述,TeamCity
暂时将密钥保存在代理的文件系统上,并在git fetch/clone完成后将其删除.
因此,即使TeamCity在代理端检出期间正确使用了SSH密钥,也会在以后的构建中故意无法访问该密钥.
但是我真的想在以后使用密钥!
git命令生成的输出是:
[06:12:29][Step 3/4] Permission denied (publickey).
[06:12:29][Step 3/4] fatal: Could not read from remote repository.
[06:12:29][Step 3/4]
[06:12:29][Step 3/4] Please make sure you have the correct access rights
[06:12:29][Step 3/4] and the repository exists.
Run Code Online (Sandbox Code Playgroud)
我已确认该known_hosts
文件存在并包含相应的公钥.我还确认C:\Users\systeamcityagent\.ssh
它不包含任何私钥(如预期的那样).
我正在运行TeamCity Enterprise 9.1.3.
推荐的解决方案是什么?
鉴于有master和dev git分支,gitub托管在Github上,而TeamCity 9.0.1作为CI服务器安装.
teamcity构建项目配置为使用github存储库作为VCS根,并将refs/heads/master设置为默认分支.
所需的行为是在构建成功时从master到dev运行自动合并.
因此,我使用以下设置添加此处指定的自动合并构建功能:
+:master
dev
TEAMCITY: Automatic merge branch master into dev
build is successful
use fast-forward merge if possible
按Run后 - 构建为绿色,构建日志中没有显示任何错误,但完全没有按要求合并!
有什么问题,我在哪里可以找到有关构建功能执行的调试信息?
我在Windows Server 2012上安装了TeamCity.它已经很好地设置了一些构建.然后,我尝试通过将.zip文件放在〜/ .BuildServer/plugins文件夹中来安装一些插件.我通过cd到c:\ TeamCity\bin并运行"runAll stop"然后"runAll start"重新启动服务器.
然后当我进入teamcity页面几分钟时,我得到一个"输入维护认证令牌"页面.它在页面上显示在teamcity-server.log文件中找到维护令牌(参见下面的屏幕截图).我查看c:\ TeamCity\logs\teamcity-server.log,它有几个"超级用户令牌"和"代理授权语言".我尝试使用这些令牌,但获得了无效的维护令牌错误.
所以我的问题是我在哪里可以找到维护令牌?
编辑:自从升级到最新的TeamCity版本以来,这已经解决了.当我遇到这个问题时,所提出的答案都没有起作用,这就是为什么我没有将任何标记作为公认的答案.
我有一个TeamCity构建配置A和B,其中B依赖于A.我需要在触发B时将参数从B传递给A.
这与问题有关:在TeamCity 9中按参数值覆盖依赖项属性
和这里的teamcity文档
我需要找到WHERE/HOW来使用这个reverse.dep来设置依赖构建中的参数?在Project Configuration Parameters部分中,我可以添加Configuration/Environment/build参数,但它们采用Name/Value对.所以,请原谅我的无知,但我无法弄清楚在哪里指定这种反向逻辑.
谢谢
我希望通过我的CI框中的teamcity完成以下操作.
Master branch commit : Build and Release
Beta branch commit: Build and Release to Crashlytics
All other commits to any other branch: Build
Run Code Online (Sandbox Code Playgroud)
(旁注,因为我们的大多数开发分支可能包含也可能不包含前缀,因此很难使用"feature-*"分支命名)
我在项目设置中创建了一个配置参数
然后
我的VCS根设置
然后我创建了一个构建模板
当我创建构建时,我确保分支名称是正确的
我也试过编辑触发器
然而,当我将提交推送到Beta分支时,这无法正常工作
我认为因为ref/heads/*
默认构建运行所有分支
和Beta和Master显示"待定"
我怎么能纠正这个?