Tag: Gitlab

将GitLab CI支持添加到iOS项目

我最近发表了一篇文章,详细介绍了几个持续集成系统以及我最终决定使用的系统:GitLab CI。 今天,我将我的另一个项目转移到了新服务中,我认为我将逐个演示如何使用GitLab CI构建和部署该项目。 关于该项目 有问题的项目是iOS的Scrawl Notes。 这是一个相对简单的应用程序,具有相对简单的要求。 它具有单个依赖项¹,由Carthage管理。 有两个测试目标(UI和单元测试)²,每当我推送到GitLab服务器时,我都希望同时运行它们。 最后,我通过Apple的TestFlight将此应用程序部署到Beta测试人员,因此当我推送到master分支时,我想自动将构建版本上传到那里。 快车道 Fastlane使在其他项目上进行所有这些设置变得更加容易,因此我将在这里再次使用它。 Scrawl Notes尚未使用Fastlane,因此将其添加为第一步。 $ fastlane setup 在设置过程中,Fastlane要求我提供我的Apple ID。 我有一个单独的Apple开发者帐户,仅用于我的持续集成系统。 这主要是因为,如果它完全变成了麻烦,至少它仅限于我的工作,而不是我的雇主或我们的任何客户的工作。 安装完成后,Fastlane为我创建了几个文件: $ git status On branch 1.2-release Changes to be committed: (use “git reset HEAD …” to unstage) new file: fastlane/Appfile new file: fastlane/Deliverfile new file: fastlane/Fastfile … 我在这里关心的主要是Fastfile ,它描述了我希望Fastlane运行的所有任务。 默认生成的文件中包含大量内容,我现在不想要所有这些。 这是我得到的: min_fastlane_version(“2.73.0”) […]

使用使用Cocoapods的iOS项目设置GitLab CI

我们都为应用程序编写测试,并将其保留在版本控制的系统(如GitLab或GitHub)中。 但是,我们如何配置GitLab为我们运行单元和UI测试? 我找不到很多文档来解释如何在GitLab上为iOS设置持续集成,因此我正在写这篇文章。 Victor Peschenkov在他的文章中解释了如何在Fastlane中使用GitLab CI。 我的文章重点介绍如何自己运行所有内容。 要求 为了为iOS设置GitLab Runner,我们需要以下工具: 苹果电脑 Xcode 10 GitLab.com帐户(或一个自托管帐户) 家酿 CocoaPods(使用自制软件: brew install cocoapods ) 请先安装这些工具,然后再继续。 配置Xcode 确保从Mac App Store下载Xcode。 安装完成后,打开它并创建一个项目以确保它已完全安装并正在运行。 iOS专案 我创建了一个示例项目,以帮助您更快地入门。 随意分叉它或使用您自己的项目。 请使用以下方法验证您的安装: git checkout git@gitlab.com:skofgar/ios-ci-sample.git 切换到项目文件夹并运行pod install 在计算机上运行以下命令,以验证您可以成功构建并运行测试-这意味着没有“失败”或其他错误消息 xcodebuild测试 -workspace“ CI Sample.xcworkspace” \ -方案“ CI示例”-目标“平台= iOS模拟器,名称= iPhone XR,OS = 12.0” \ | xcpretty -s 安装GitLab Runner iOS项目需要特殊的GitLab […]

如何通过三个相对简单的步骤为iOS设置GitLab CI

提示:一点都不难。 感谢Angelo Stavrow在2016年发布的帖子,我自己的GitLab设置以及这篇帖子都变得生动起来。让这一切变得有趣起来,在果酱中添加Fastlane,在这篇文章的末尾找到我的下一篇文章的链接。 介绍 作为开发人员,不论年龄大小,职称,无论我们是年轻人还是老人,我们都听说过CI / CD和可用的工具-例如,如果您的项目是开源的,则有很多付费的工具,而另一些则免费的。 酷,我知道。 但是关于不是开源的工作呢? 如果您使用的是GitLab,那么您会很幸运,因为无论项目如何,它都免费提供了内置的CI。 这听起来像是一个很棒的计划:-)。 我不会解释什么是CI / CD,您可以轻松地将其搜索出来。 但是我需要指出的是,至少对我自己而言,拥有CI的更大优势在于,它将使您能够编写那些拖延已久的测试。 因此,让我们这样做。 此帖子使用什么设置? 运行macOS Sierra 10.12.6的 Mac mini 带有iOS 10.3 SDK的 Xcode 8.3.3 第一步-设置您的Xcode项目 首先创建包含单元和/或UI测试的项目并将其与相应的GitLab存储库链接。 确实,确实要确保共享项目的方案 ,否则GitLab CI无法找到构建和测试项目所需的上下文。 为此,您需要在Xcode中打开项目,然后从标签菜单中选择产品 > 方案 > 管理方案 。 当菜单窗口出现时,勾选与您的项目方案相对应的“ 共享”框 ,然后单击“ 关闭”按钮 无需共享任何依赖关系方案。 完成上述步骤后,即可进行提交和推送。 一个好主意是获取xcpretty 。 它 将构建的输出转换为更具可读性的方式。 第二步–安装和注册GitLab Runner 要真正了解什么是Runner,可以查看GitLab的有关它们的文档。 简而言之,它是计算机上的一项服务( 可以是某处的远程服务器,但由于您是iOS开发者,因此可以在Mac上使用,这使您与众不同 ),该服务可以运行特定的版本及其相应的测试过程在一个特殊的配置文件中进行设置。 在您的Mac上实际安装GitLab运行程序非常简单,因此我建议您遵循我们的GitLab朋友专门针对macOS提供的说明。 […]

亚搏体育app CI iOS

GitLab CI非常易于使用,作为一个单独的开发人员,您不再需要构建Jenkins服务器,因此GitLab CI就是为您准备的。 让我们看一下我将要介绍的项目,以及GitLab CI如何帮助我们。 今天的演示项目是BowlingGame,其中包含单元测试和UI测试,CI部分我们使用xcodebuild进行测试,xcsummary用于XCtest报告生成,并使用fastlane进行testflight上传,因此您需要在开始之前安装xcodebuild和fastlane。 第1部分设置fastlane和.yml: 初始化Fastlane:按照Fastlane的说明,可以指导您完成信息,包括app_identifier,apple_id,itc_team_id,team_id…等,也可以在路径/ yourProject / fastlane / Appfile中进行检查。 设置Fastfile:我们只使用upload_to_testflight函数,因此请确保方案正确 desc“将新的Beta版本推送到TestFlight” 车道:beta do build_app(方案:“ TDD-BowlingGame”) upload_to_testflight 结束 3.设置.yml文件:此文件告诉GitLab CI做什么,应该完成哪些步骤。 阶段: -CreateDirectory -UIAndUnitTesting -生成报告 -ArchiveAndUploadToItuneConnectvariables: LC_ALL:“ en_US.UTF-8” LANG:“ en_US.UTF-8”创建: 阶段:CreateDirectory 脚本: -rm -rf〜/ Myproject / -mkdir〜/ Myproject / Test: 阶段:UIAndUnitTesting 脚本: #将iPhoneX_iOS1131更改为您的真实设备名称 -rm -rf / Users / i_HankTseng / Library / Developer […]