使用Fastlane构建Android React Native应用时如何获取版本号填入Slack通知
方法1:使用Fastlane内置Android方法
Fastlane 官方提供了专门获取 Android 版本信息的内置方法,直接调用即可:
- 获取版本名(对应build.gradle中的
versionName):android_get_version_name - 获取版本号(对应build.gradle中的
versionCode):android_get_version_code
你可以直接把这个方法填入slack通知的fields配置中,修改后的代码示例如下:
lane :deploy_staging do gradle(task: "clean") puts "CONFIG: #{ENV['CONFIG']}" gradle( task: 'bundle', build_type: 'Release', print_command: false, ) upload_to_play_store(track: 'internal') slack( message: "Test successfully deployed to Play Store", success: true, slack_url: "https://hooks.slack.com/services/test", attachment_properties: { fields: [ { title: "Environment", value: "Staging", }, { title: "Version number", value: android_get_version_name, } ] } ) end
默认会读取app/build.gradle中的配置,如果你的项目gradle路径不是默认的,可以指定gradle_file参数:android_get_version_name(gradle_file: "./android/app/build.gradle")
方法2:读取统一管理的版本号(更适合React Native项目)
如果你的RN项目是跨端统一管理版本号,比如把版本号存在根目录的package.json里,可以直接读取文件获取,这种方式可以保证iOS和Android两端发送通知的版本号完全一致,避免两端配置不同步的问题:
# 放在lane开头读取版本号 package = JSON.parse(File.read('../package.json')) app_version = package['version']
之后直接把app_version填入slack通知的对应位置即可。
内容的提问来源于stack exchange,提问作者N P
相关产品推荐
相关产品推荐

