使用Circle.CI和FastLane导入.ProvisionProfile
对于我的个人项目,我使用Circle.ci来测试和部署OSX应用程序(通过上载挂钩到S3,将其分发到AppStore之外 - 使用与开发人员签署的ID分配方法)。我正在使用FastLane构建应用程序,该应用程序在从本地终端进行构建时运行良好,但在使用CI服务器时无法通过代码签名步骤。使用Circle.CI和FastLane导入.ProvisionProfile
这个问题很简单,钥匙串不会导入提供的个人资料,我可以从构建前阶段告诉:
1 key imported.
No provisioning profiles found in repository.
You must add a provisioning profile to your repository
to enable CircleCI code-signing support.
Currently installed Code-Signing identities:
Policy: Code Signing
Matching identities
0 identities found
Valid identities only
0 valid identities found
我有我的私钥和证书的.p12上传到存储库,没有问题。我还将.provisionprofile添加到存储库(根目录,甚至是不同的位置),但无济于事。该文档指出(https://circleci.com/docs/ios-code-signing/)需要.mobileprovision,但只涵盖iOS,而不是OSX,而系统应该几乎相同,所以我认为它也可以。
因此,TLDR的问题是:如何在Circle.CI中导入OSX发行版的配置文件,以便钥匙串接受该条目?还是有办法绕过它 - 就像跳过签名步骤(在XCode中禁用它)并用一些.sh手动签名它?
谢谢大家!
我将使用CircleCI部署iOS应用程序的经验分享给Testflight。也许这有帮助。
将提供配置文件放入项目目录的根目录中。确保它是一个普通的“分发配置文件”而不是App Store提交配置文件。
只需在CircleCI的项目设置中添加.p12键即可。从存储库中删除所有其他证书/ .p12文件。
我试过使用fastlane来构建和分发构建,但它在CircleCI中失败。我在Fastfile测试版环境中执行了这三个步骤。
increment_build_number gym(scheme: "myScheme”) pilot
我改变了只是increment_build_number
-
我的圈子CI文件
machine: environment: GYM_CODE_SIGNING_IDENTITY: "iPhone Distribution: Company Name (XXXXXX)" xcode: version: "8.0" test: override: - set -o pipefail && xcodebuild -workspace 'my.xcworkspace' -scheme 'myscheme' clean build test -sdk iphonesimulator -destination 'id=AC291080-8EFE-4095-8C55-B1E952EFFC36' CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= PROVISIONING_PROFILE= dependencies: pre: - gem update fastlane deployment: beta_distribution: branch: master commands: - fastlane beta - gym --scheme "myscheme" --workspace "my.xcworkspace" --export_method app-store --use_legacy_build_api false - pilot upload
不幸的是,这不解决t不过,他感谢你的配置。我有很多基于iOS的Circle.CI项目,它们工作正常,没有问题。虽然OSX版本有一个区别 - Circle.CI找不到OSX的配置文件(对于iOS,您有.mobileprovision,而对于OSX,您有.provisionprofile)。 –