写点什么

极狐 GitLab 和 Xcode Cloud 集成,实现 iOS 的自动打包

作者:极狐GitLab
  • 2024-02-05
    上海
  • 本文字数:883 字

    阅读完需:约 3 分钟

极狐 GitLab 和 Xcode Cloud 集成,实现 iOS 的自动打包

一直以来,iOS/macOS 开发者面临一个难题:大部分云厂商只提供 Linux/Windows 服务器,而不提供 Mac,如果想实现「持续集成自动打包」就需要绑定自己的 Mac 作为构建机。如果用个人 Mac,一旦关机,小组同事就无法构建;如果再买一台公共 Mac,又造成浪费。

2022 年 6 月,Apple 在 WWDC(全球开发者大会)上宣布 Xcode Cloud 服务正式推出,提供 CI/CD 功能。


作为持续集成,首先要对接代码库,Xcode Cloud 支持 3 家全球知名的代码库:

Bitbucket、GitHub、GitLab

本文以 flutter/iOS 项目为例,讲解「极狐 GitLab 代码库对接 Xcode Cloud」,实现自动打包。

1. Xcode——》Product——》Xcode Cloud——》Create Workflow,一直点下一步即可

 2. 点击「Grant Access」,即授权代码库

 3. 选择「GitLab Self-Managed」,注意:不管是极狐 GitLab SaaS 还是私有化都选择这个。

4. 选择「GitLab Self-Managed」,注意:不管是极狐 GitLab SaaS 还是私有化都选择这个。

https://appstoreconnect.apple.com/ci/api/scms/auth/gitlab-hosted/callback

范围选择:api、read_repository 和 read_user。

创建成功,获得「应用程序 ID」和「密码」,填写到 Apple 网站上,点击下一步进行授权。

5. 授权成功,回到 Xcode,点击下一步进行首次构建。

6. 提交代码到极狐 GitLab,会立即触发 Xcode Cloud 打包。

7. 高级设置:自动发布到 Testflight 测试通道。

Xcode——》Product——》Xcode Cloud——》Manage Workflows——》双击或右键 Edit——》

  • Archive iOS——》Deployment Preparation 选择 Testflight (Internal Testing Only)

  • Post-Actions——》Add——》Testflight Internal Testing——》Groups——》Add group(需要先在 Testflight 网页上创建测试组)

注意:Xcode Cloud 网页上的部署准备(Deployment Preparation)没有 Testflight 选项,估计是 Apple 的 bug。

8. 高级设置:在极狐 GitLab CI 里扫描代码规范、打包 Android,在 Xcode Cloud 里打包 iOS。

如果配置极狐 GitLab CI(即 .gitlab-ci.yml),会看到除了自己编写的步骤,无需配置就会多出来一步 external,即为 Xcode Cloud。

用户头像

极狐GitLab

关注

开源开放,人人贡献 2021-05-19 加入

开放式一体化DevOps平台,助力行业高速协同增长!

评论

发布
暂无评论
极狐 GitLab 和 Xcode Cloud 集成,实现 iOS 的自动打包_极狐GitLab_InfoQ写作社区