2

我构建了fastlane ios lanename但要集成到 Jenkins 中想要覆盖输出文件名。默认情况下,输出名称在 Fastfile 健身房选项中定义,但我想将版本和内部版本号添加到 Jenkins 中的文件名中。

然而,这个命令并没有削减它:

fastlane ios build_dev_stg output_name:"App_Dev_Staging_2.5.1.3452"

尝试此操作后,输出文件名仍然与 Fastfile 中定义的相同。有没有其他方法可以覆盖它?

4

2 回答 2

2

你做的有点不对,但意图是对的。

您不必将参数传递给您的车道(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

希望对你有帮助,有什么问题可以问

于 2017-09-13T10:21:45.763 回答
0

特此共享一个示例通道,该通道根据当前版本和内部版本号生成一个内部版本名称。在我的设置中使用了相同的方法。

# 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"
)
于 2019-09-22T07:33:47.547 回答