我构建了fastlane ios lanename
但要集成到 Jenkins 中想要覆盖输出文件名。默认情况下,输出名称在 Fastfile 健身房选项中定义,但我想将版本和内部版本号添加到 Jenkins 中的文件名中。
然而,这个命令并没有削减它:
fastlane ios build_dev_stg output_name:"App_Dev_Staging_2.5.1.3452"
尝试此操作后,输出文件名仍然与 Fastfile 中定义的相同。有没有其他方法可以覆盖它?
我构建了fastlane ios lanename
但要集成到 Jenkins 中想要覆盖输出文件名。默认情况下,输出名称在 Fastfile 健身房选项中定义,但我想将版本和内部版本号添加到 Jenkins 中的文件名中。
然而,这个命令并没有削减它:
fastlane ios build_dev_stg output_name:"App_Dev_Staging_2.5.1.3452"
尝试此操作后,输出文件名仍然与 Fastfile 中定义的相同。有没有其他方法可以覆盖它?
你做的有点不对,但意图是对的。
您不必将参数传递给您的车道(build_dev_stg)。
你需要在你的健身房里,在你的车道内传递这个选项。
我的前任车道:
lane :buildDev do |options|
[.... Set nameSuffix, versionName and so on ...]
ipaName = "MyApp_#{nameSuffix}_#{versionName}_#{buildNumber}.ipa"
gym(
configuration: configuration,
scheme: scheme,
export_method: export_method,
output_name: ipaName
)
end
希望对你有帮助,有什么问题可以问
特此共享一个示例通道,该通道根据当前版本和内部版本号生成一个内部版本名称。在我的设置中使用了相同的方法。
# Can be called from other lanes as:
# Build Name
output_build_name = ""
generate_build_name
#Generate the build
build(build_name: output_build_name)
# Lane to create build name using the version
lane :generate_build_name do |options|
# https://github.com/beplus/fastlane-plugin-versioning_ios
# Get version and build number install above plugin
version = get_version_number(target: target)
build_number = get_build_number(xcodeproj: project)
puts "VERSION : #{version}"
current_date = Time.new.strftime('%Y.%m.%d')
build_name = "-Ver-"+ version + "-B-" + build_number + "-" +current_date
output_build_name = app_name + "-" + build_name
# Build name
puts "#{app_name} BUILD NAME : #{output_build_name}"
// BUILD NAME : AppName-Ver-1.0-B-31-2019.09.16
end
lane :build do |options|
build_app(
workspace: "MyApp.xcworkspace",
configuration: "Debug",
scheme: "MyApp",
silent: true,
clean: true,
output_name: options[:build_name] + ".ipa"
)