使用JENKINS在iOS中进行持续集成
JENKINS是一个开源自动化服务器,可用于自动化各种任务,例如构建,测试和部署软件。 它允许持续集成。 持续集成是一种开发实践,要求开发人员定期将代码集成到共享存储库中。 Jenkins将安装在您的服务器或本地系统上。 有关安装和配置的详细信息如下:
安装和配置:
要进行Jenkins的基本设置,自动化iOS构建,触发构建失败和稳定性电子邮件,以获取可下载的ipa,请执行以下步骤:
步骤1:下载JENKINS 对于MAC。
步骤2:打开Jenkins。 输入详细信息(用户名和密码)。
步骤3:单击管理Jenkins→管理插件→搜索插件并安装→重新启动jenkins→交叉检查已安装的插件。
注意:为svn和Xcode集成安装Subversion插件,以提供与xcode相关的设置。
第4步:返回Jenkins主页。单击New Item,输入Job name,选择freestyle project。单击OK。现在创建了作业。
第5步:点击您的工作,点击配置。
步骤6:我们现在将进行项目级别的配置,其中包括以下步骤:
通常,给项目名称。
在“源代码管理”部分中,选择Git或Subversion(根据您的需要,我使用了svn)→给出存储库url→输入svn的凭据。
在“构建触发器”中,选择“轮询SCM”以给出我们希望詹金斯检查提交更改并触发构建的时间间隔(例如:给15分钟的时间,我们将使用H / 15 * * * *)。
在添加构建步骤中,选择XCODE→输入要为其创建构建的目标的名称。 在“配置”中,根据项目的需要提供调试或发布模式。
要创建.ipa,请在常规构建设置中点击设置,然后选择打包应用程序并构建.ipa? →给出.ipa文件名模式(这是您要赋予ipa的名称)。
再次单击Add Build Step→Execute shell→write命令来执行脚本。
注意:脚本文件(.sh)应该保存在我们的詹金斯($ {JENKINS_HOME} / workspace)工作区中。
在Post-build Actions中,选择Archive theartifacts以获取可下载的ipa。这些文件(内部版本)是可下载文件,可以从jenkins主页访问。
注意:为避免与供应配置文件和证书有关的错误:
- 将供应配置文件复制到Jenkins用户文件夹。 供应配置文件位于文件夹/ YourUserName / Library / MobileDevice / Provisioning Profiles中,
例如:在我的机器中,配置文件位于/ Users / username / Library / MobileDevice / Provisioning Profiles下。 在Mac中,Jenkins将位于/ Users / Shared / Jenkins中,创建以下文件夹:/ Users / Shared / Jenkins / Library / MobileDevice / Provisioning Profile,然后将.mobileprovision文件复制到此文件夹。
2.将您的iPhone开发人员证书从“登录”钥匙串复制到“系统”钥匙串。
详细步骤:打开“钥匙串访问”应用程序,单击登录选项卡,右键单击“ iPhone Developer:your_name(XXXXXXX)”之类的证书,选择复制,然后单击“系统”选项卡,右键单击鼠标,选择“粘贴2”。项目”; 您可能需要对证书执行相同的操作,例如“ iPhone Distribution:your_name”。
第7步 :电子邮件配置:
转到Jenkins主页→管理Jenkins→管理插件→安装3个插件:
- 电子邮件扩展插件
- 电子邮件扩展模板插件
- 极端通知插件
我们需要通过电子邮件通知进行一些全局级别的配置。这里需要SMTP(简单邮件传输协议)服务器。
因此,转到Jenkins→管理Jenkins→配置系统。
选中“使用SSL”,以便可以将邮件触发到任何域(gmail.com,yahoo.com等)。通过单击“测试配置”,我们可以测试此配置是否正确配置。
我们还可以按照以下步骤在项目级别覆盖此设置:
单击“生成后操作”,在“电子邮件通知”部分中,在“收件人”中输入电子邮件ID,然后选中“为每个不稳定的构建选项发送电子邮件”。
单击“构建后操作”,在“可编辑的电子邮件通知”部分中,在项目收件人列表中输入电子邮件ID。
单击高级设置→添加触发器→始终。
步骤8:单击Apply(应用)→Save(保存)→Now build(立即生成)→Console Output(控制台输出)。
在控制台输出中,您可能会看到构建失败或成功。 如果失败,则可以在控制台输出中查看原因,成功后,您将获得.ipa的所有详细信息和路径。
希望这对尝试将JENKINS集成到iOS中进行持续集成的人们有所帮助