Bitbucket管道:为CI CD构建iOS,无需外部依赖

ttp71kqs  于 2023-07-01  发布在  iOS
关注(0)|答案(4)|浏览(129)

在Android中,只要有Android SDK镜像,就可以轻松构建APK。然后在PlayStore上自动创建一个版本(内部,测试版,生产版)。然而,苹果使用不同的许可证,因此您需要Mac和XCode才能构建IPA文件。但最近我发现似乎可以构建一个并使用GitHub Action here(请验证)将其部署到TestFlight。我们希望在构建发布版本时避免设置物理Mac设备、runner和第三方。现在Bitbucket Pipeline也可以这样做吗?什么是最简单的方法,使安装工作就像在Android上?谢谢

wtzytmuj

wtzytmuj1#

目前Bitbucket Pipelines还不支持云托管的iOS版本。有关Bitbucket Pipelines的限制,请参阅以下链接。
https://support.atlassian.com/bitbucket-cloud/docs/limitations-of-bitbucket-pipelines/
目前,我们不支持构建Windows、macOS或iOS应用程序(请查看链接的问题以接收更新)。
您可以观看链接的Jira问题,以接收更新,因为他们正在使用此功能:
https://jira.atlassian.com/browse/BCLOUD-13719
在Bitbucket Pipelines上构建iOS而不依赖其他第三方工具的唯一方法是使用自己的物理Mac硬件,但我知道你提到过你正在努力避免这种情况。为了完整起见,以下是如何做到这一点的说明,以防其他人发现它有帮助:
https://support.atlassian.com/bitbucket-cloud/docs/set-up-runners-for-macos/

fzsnzjdm

fzsnzjdm2#

现在Bitbucket Pipeline也可以这样做吗?
它可能是,考虑到Bitbucket刚刚发布(9月。2022年):

Announcing macOS Runners in Bitbucket Pipelines

我们很高兴地宣布,Bitbucket Pipelines现在支持macOS自托管运行程序。我们已经从beta版转向正式版。
现在,您可以创建自托管运行器并在macOS基础架构上运行它,以运行macOS和iOS版本。由于您使用自己的runner,因此不会向您收取Bitbucket Pipelines构建分钟数的费用。
此自托管运行程序将是非容器化的,允许您的CI/CD步骤访问主机的硬件,例如图形卡或任何连接的外部设备。
考虑到runner将直接在macOS示例上运行,我们也不会限制步骤的内存使用。

即:

pipelines:
  default:
    - parallel:
        - step:
            name: Build and Test
            runs-on:
              - macos
            script:
              - swift build
              - swift test
        - step:
            name: Code linting
            runs-on:
              - macos
            script:
              - swiftlint

观看更多视频“Bitbucket Pipelines Runners - Demo Den - August 2021”。

c9x0cxw0

c9x0cxw03#

是的,有可能
你可以使用“GitlabCi”和“Fastlane”https://fastlane.tools/
在Github中,你可以使用Build Actions甚至是Test with Script。
这些天苹果推出了一个新的方法命名为Xcode云,这是一个测试版。
https://developer.apple.com/xcode-cloud/beta/

6gpjuf90

6gpjuf904#

是的,这是可能的,而不使用外部依赖。
经过大量的尝试和错误,我通过结合所有的解决方案来解决这个问题。
您需要在www.example.com文件中使用应用商店密钥exportOptions.info。您可以在App Store上验证并上传。
不用担心什么是exportOptions文件,如何验证和上传。
我正在分享我在Medium上发布的文档以解决此问题。这包括在不同情况下和其他分支中应该使用什么类型的体系结构。
通过应用给定的信息,在试飞时上传将很快,并且您的IPA将花费更少的时间为内部或外部测试仪做好准备。
Flutter — iOS App Release on App Store using CLI.🔥
Flutter — iOS App Release on AppStore using Bitbucket Pipeline.
如果这个解决方案对你有帮助。在中柱上拍手。
谢谢你!

相关问题