【发布时间】:2020-10-14 14:36:03
【问题描述】:
我们在 iOS 应用中使用 fastlane 和 jenkins 来构建它。 我们已经配置了 fastlane 来构建应用程序,但问题是我们找不到使用相同配置来构建 ad-hoc 和应用商店应用程序的解决方案。
在 /fastlane 文件夹下,我们有带有以下配置的 gymfile 和 fastfile:
健身档案:
scheme("XXXApp")
workspace("XXXX")
output_directory("./fastlane/Builds")
export_method("ad-hoc")
include_symbols(true)
include_bitcode(false)
xcconfig("......XXXX")
sdk("iphoneos")
快速文件: 用于测试应用(我们想在其中使用 ad-hoc 构建它)
lane :test do |options|
get_info_plist_value(path: ENV["INFO_PLIST_PATH"], key: "CFBundleVersion")
increment_build_number(
build_number: options[:build_number],
xcodeproj: "./XXXXX"
)
build_test
end
对于生产应用(我们要使用应用商店导出方法的地方):
lane :candidate_prod do |options|
get_info_plist_value(path: ENV["INFO_PLIST_PATH"], key: "CFBundleVersion")
increment_build_number(
build_number: options[:build_number],
xcodeproj: "./XXXXXX"
)
update_project_provisioning(
xcodeproj: "./XXXXXX",
profile: "./fastlane/productionprovisionprofile",
target_filter: "productionappname",
build_configuration: "Release",
code_signing_identity: "XXXX"
)
build_prod
我们在 fastfile 中也有这个专用通道(这是用于生产,但我们还有另一个用于测试应用程序):
private_lane :build_prod do
build_ios_app(
workspace: "XXXXXX",
#configuration: configuration,
scheme: "productionappname",
silent: false,
codesigning_identity: "XXXXX",
include_bitcode: false,
)
puts "$IPA_OUTPUT_PATH::\"#{lane_context[SharedValues::IPA_OUTPUT_PATH]}\""
end
在 jenniks 中,我们有一个运行步骤:
fastlane candidate_prod build_number:${BUILD_NUMBER}
如果我们想要测试应用程序,或者测试而不是候选产品
问题是: 我们可以进行哪些更改,以便根据我们要生成的应用程序(附加或应用程序商店)使用不同的导出方法来创建通道 以及如何为每个构建(测试和产品)指定配置文件,以确保我们使用其配置文件构建应用程序?
【问题讨论】:
标签: ios iphone jenkins fastlane