NRi*_*itH 3 ios fastlane app-store-connect
我有一个 GitHub 操作,用于fastlane在 CI 管道中构建版本并将其部署到 TestFlight。我使用 App Store Connect API 密钥进行非交互式身份验证。
苹果的文档明确指出:
重要的
确保您的 API 密钥安全且私密。您永远不应该共享密钥、将密钥存储在代码存储库中或在客户端代码中包含密钥。
但我看到的每个示例都只是将文件作为纯文本文件签入源代码管理(通过参数)传递.p8给命令:app_store_connect_api_key()key_filepath
lane :release do
app_store_connect_api_key(
key_id: "D383SF739",
issuer_id: "6053b7fe-68a8-4acb-89be-165aa6465141",
key_filepath: "./AuthKey_D383SF739.p8"
)
pilot
end
Run Code Online (Sandbox Code Playgroud)
或作为明文密钥本身(通过key参数):
lane :release do
app_store_connect_api_key(
key_id: "D383SF739",
issuer_id: "6053b7fe-68a8-4acb-89be-165aa6465141",
"key": "-----BEGIN PRIVATE KEY-----\nMIGTAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBHknlhdlYdLu\n-----END PRIVATE KEY-----"
)
pilot
end
Run Code Online (Sandbox Code Playgroud)
有没有更安全的方法来存储它并仍然在 CI 管道中使用它?
您可以将想要保持私有的值存储为环境变量。据我所知,所有 CI/CD 服务都允许设置环境变量。您可以使用它ENV['XYZ']来访问 Fastfile 中的任何环境变量。
查看更多信息:https://docs.fastlane.tools/best-practices/continuous-integration/github/
| 归档时间: |
|
| 查看次数: |
4329 次 |
| 最近记录: |