fastlane+pgyer自动构建并上传多种环境iOS包脚本

ruby语言,目前仅支持developer和ad-hoc版本,自动自增Build号码,自动上传至分发平台(支持fir/pgyer)

# 定义fastlane版本号
fastlane_version “2.46.1” 

# 定义打包平台
default_platform :ios

def updateProjectBuildNumber

currentTime = Time.new.strftime("%Y%m%d")
build = get_build_number()
if build.include?"#{currentTime}."
# => 为当天版本 计算迭代版本号
lastStr = build[build.length-2..build.length-1]
lastNum = lastStr.to_i
lastNum = lastNum + 1
lastStr = lastNum.to_s
if lastNum < 10
lastStr = lastStr.insert(0,"0")
end
build = "#{currentTime}.#{lastStr}"
else
# => 非当天版本 build 号重置
build = "#{currentTime}.01"
end
puts("*************| 更新build #{build} |*************")
# => 更改项目 build 号
increment_build_number(
build_number: "#{build}"
)
end

def upload_pgyer 
pgyer(api_key: “1dfa01bc013314b3d0e790e52e3f529f”, user_key: “bf680401a152800709dec9beb1437f93”)
end

#指定项目的scheme名称
scheme=“ZIM2”

# 任务脚本
platform :ios do
lane :development_build do|options|
branch = options[:branch]

puts “开始打development ipa”

updateProjectBuildNumber #更改项目build号

# 开始打包
gym(
#输出的ipa名称
output_name:”#{scheme}}”,
# 是否清空以前的编译信息 true:是
clean:true,
# 指定打包方式,Release 或者 Debug
configuration:"Release",
# 指定打包所使用的输出方式,目前支持app-store, package, ad-hoc, enterprise, development
export_method:"development",
# 指定输出文件夹
output_directory:"./fastlane/build",
)

puts "开始上传蒲公英"
# 开始上传蒲公英
upload_pgyer

end


lane :adhoc_build do|options|
branch = options[:branch]

puts “开始打adhoc ipa”

updateProjectBuildNumber #更改项目build号

# 开始打包
gym(
#输出的ipa名称
output_name:”#{scheme}}”,
# 是否清空以前的编译信息 true:是
clean:true,
# 指定打包方式,Release 或者 Debug
configuration:"Release",
# 指定打包所使用的输出方式,目前支持app-store, package, ad-hoc, enterprise, development
export_method:"ad-hoc",
# 指定输出文件夹
output_directory:"./fastlane/build",
)

puts "开始上传蒲公英"
# 开始上传蒲公英
upload_pgyer

end

end

你可能感兴趣的:(fastlane+pgyer自动构建并上传多种环境iOS包脚本)