Tag: teamcity

TeamCity for iOS项目

嗨! 今天的主题将是关于TeamCity以及如何在iOS项目中提供持续集成。 动机 我已经为许多项目配置了很多次TeamCity。 在项目开发过程中使用持续集成系统有很多优点。 此外,TeamCity还有很多替代方案,例如CircleCI,TravisCI等。 但是在这篇文章中,我想与大家分享我在Bright发明公司获得的TeamCity经验。 我们开始的每个项目-我们都从配置持续集成的东西开始,在这种情况下,我们使用TeamCity来处理。 这篇文章更像是一个教程,它将指导您完成iOS项目配置中的所有基本和最重要的步骤。 另外,我假设您已经下载并托管了TeamCity服务。 希望你会喜欢! 步骤1:创建一个根项目 首先,您需要转到托管TeamCity的页面。 登录后,转到“管理”页面,在“ Project-related Settings部分中单击“ Projects选项卡,然后单击“ Create project 之后,您应该看到项目中使用的版本控制的配置屏幕。 我更喜欢手动配置所有内容的方法,但是您当然可以使用预定义的部分,例如: From GitHub 。 From Bitbucket Cloud等。在此步骤中,您要做的就是提供项目的名称,然后点击“ Create 步骤2:添加VCS根目录 当然,为了构建我们的项目,我们需要提供构建源。 我们的TeamCity服务应该能够从存储库中获取更改。 如果您使用的是GitHub,BitBucket或类似的平台,则有两种方法: 向可以访问存储库的帐户提供凭据 要么 生成SSH密钥并使用它在GitHub / Bitbucket中授权TeamCity 在本文中,我将向您展示如何通过上传SSH密钥进行配置。 生成新的SSH密钥 如果您还没有听说过生成SSH密钥,或者您不知道真正的S​​SH密钥是什么,请查看 此链接 要生成新的SSH密钥,可以使用终端命令: 接下来,提供新密钥的名称和可选的密码,然后在运行ssh-keygen -t rsa命令的目录中,应该看到两个文件。 一个是带有.pub扩展名的公共密钥,第二个是私有密钥。 公开的将在github / bitbucket的存储库中使用。 私钥将在TeamCity服务中使用。 在TeamCity中使用生成的密钥 转到已创建的项目的“设置”页面,然后单击“ VCS SSH Keys选项卡。 […]

使用TeamCity进行Xcode项目持续集成的技巧

以下是TeamCity中Xcode项目的一些技巧。 (需要基本的Xcode项目和TeamCity知识) 确保Build Agent与macOS一起运行 在“ 版本控制设置”部分中附加源代码存储库 始终启用“ 版本控制设置 ”中“在build之前先删除checkout目录中的所有文件 ”选项,以避免输出产品出现意外结果。 Xcode项目运行器类型 我们可以在构建步骤中使用Xcode项目运行程序类型来轻松设置Xcode项目。 TeamCity 9.x和10.x支持Xcode Project Build Runner。 (构建配置>构建步骤>流道类型) 这可用于构建基于目标和基于模式的项目。 单元测试选项将与此流道类型一起提供。 这是一个复选框。 如果我们勾选框(构建操作>运行测试)。 单元测试和UI测试将与项目构建一起运行。 可以提供其他构建参数。 其他命令行参数:部分。 在这里,我们可以指定配置,sdk,enableCodeCoverage等。 如果我们有多个构建代理和具有不同版本(Xcode 9,Xcode 10等)的多个Xcode。 在构建设置下的“ Xcode路径:”部分中提供正确的路径是一个好主意。 其他构建步骤 我们可以在TeamCity中针对不同目的进行许多构建步骤。 几个有用的步骤是: 版本更新 使用Runner类型的“命令行”(mac终端)和命令“ PlistBuddy”,我们可以更新Xcode项目的plist版本(可以在以下网址找到一个不错的教程:https://marcosantadev.com/manage-plist-files-plistbuddy /) 将IPA上载到分发门户,例如testflight或hockeyapp(appcenter) 这通常是构建后的步骤,您可以在其中处理输出工件(IPA)。 您可以将其用作构建的最后步骤,也可以创建另一个依赖项配置,该配置仅在成功完成Xcode构建后才运行。 请记住,这里我们需要将artefact(IPA)传递给dependecy配置。

设置TeamCity集成到OSX Build Agent

从我关于设置TeamCity来构buildAndroid的问题开始 ,我现在有一个有趣的挑战, 即为 iOS项目做同样的事情! 我想要做的是有一个TeamCity工作(以及我们所有其他的团队城市工作)来构build一个iOS Codebase +运行unit testing。 我意识到要构buildiOS,我们需要一个安装了XCode的OSX Build Agent。 它不会在Windows上工作。 我想知道的是…有没有人成功地完成了这个工作, 将Windows TeamCity实例与在另一台机器上运行的OSX Build Agent 集成在一起 ? 是否有任何云供应商拥有我们可以租用来安装构build代理的OSX虚拟机?

超时等待120秒模拟器启动

它看起来像Teamcity代理(TC版本是9.0 EAP)不能通过testingshell脚本运行iOS Simulator 。 我正在使用Build Step: Command Line ,运行Custom Script并传递参数。 在Mac OS X Yosemite 10.10上使用shell脚本../bin/mac.launchd.sh启动Teamcity代理。 生成日志错误: [12:33:24][Step 2/2] 2014-11-20 11:33:25.421 xcodebuild[28083:289783] iPhoneSimulator: Timed out waiting 120 seconds for simulator to boot, current state is 1. [12:33:24][Step 2/2] [12:33:24][Step 2/2] Testing failed: [12:33:24][Step 2/2] Test target app-tests encountered an error (Timed out waiting 120 seconds for […]