
多个 release 不是不同版本,而是不同客户
比如,main 程序里连的服务器地址不同,总之区别就是一两行字符串的值
现在我们做的是,在一个分支开发(可能并行开几个 feature 分支)
然后完成后 merge 到其他几个 release 分支各自发布
但如果几个客户还好说,如果以后客户多了,这 git 岂不是要开花了
不知道各位有没有什么好的实践分享下
1 msg7086 2022 年 6 月 27 日 有没有一种可能,放在配置文件里。 |
2 HeapOverflow 2022 年 6 月 27 日 via iPhone 这个难道不应该用配置文件吗…. |
3 wanacry 2022 年 6 月 27 日 via iPhone 我的意思是:有没有有这么一种可能 |
4 arch9999 2022 年 6 月 27 日 目前来说,你是错的,但是过一段时间之后,你会发现楼上几位是错的。 |
5 runningowl OP 额,谢谢,忘了说,是个安卓 app ,不上市场 其实本来默认就是空的,让大家装好 app 自己配,然后客户觉得费事,老板就让给每个客户配好 |
6 ktqFDx9m2Bvfq3y4 2022 年 6 月 27 日 via iPhone 那其实你不需要不同分支啊,你只需要不同配置文件,每个客户打包使用不同的就行了。 |
7 estk 2022 年 6 月 27 日 via Android 那就根据域名来区分,判断不同域名就连不同服务器地址 |
8 estk 2022 年 6 月 27 日 via Android @runningowl 不好意思,那就根据包名连不同服务器 |
9 onetown 2022 年 6 月 27 日 Android 可以在 build 里设置 product flavor , 你可以根据不同的 flavor 来设置资源文件里的值, 你可以搜索 Android product flavor 相关的关键字, 不知道这个是不是 OP 想要的 比如 productFlavors { app1 { resValue "string", "app_name", "App 1" resValue "string", "api_url", "app1.xxx.com/v1/api" } app2 { resValue "string", "app_name", "App 2" resValue "string", "api_url", "app2.xxx.com/v1/api" } } 也可以根据 Flavor 产生不同的包名 applicationVariants.all { variant -> variant.outputs.all { output -> def SEP = "_" def flavor = variant.productFlavors[0].name def buildType = variant.buildType.name def version = variant.versionName def date = new Date(); def formattedDate = date.format('yyMMdd_HHmm') def apkName = "android_" + flavor + SEP + buildType + SEP + version + SEP + formattedDate + ".apk" outputFileName = new File(apkName) } } |
12 Harry 2022 年 6 月 27 日 via iPhone |
13 dzdh 2022 年 6 月 27 日 |
14 maichael 2022 年 6 月 27 日 CI/CD 配置好,只要不大幅度涉及业务逻辑层的改动,怎么搞都行。 |
15 runningowl OP |