多个 release 不是不同版本,而是不同客户
比如,main 程序里连的服务器地址不同,总之区别就是一两行字符串的值
现在我们做的是,在一个分支开发(可能并行开几个 feature 分支)
然后完成后 merge 到其他几个 release 分支各自发布
但如果几个客户还好说,如果以后客户多了,这 git 岂不是要开花了
不知道各位有没有什么好的实践分享下
多个 release 不是不同版本,而是不同客户
比如,main 程序里连的服务器地址不同,总之区别就是一两行字符串的值
现在我们做的是,在一个分支开发(可能并行开几个 feature 分支)
然后完成后 merge 到其他几个 release 分支各自发布
但如果几个客户还好说,如果以后客户多了,这 git 岂不是要开花了
不知道各位有没有什么好的实践分享下
1
msg7086 Jun 27, 2022 有没有一种可能,放在配置文件里。
|
2
HeapOverflow Jun 27, 2022 via iPhone
这个难道不应该用配置文件吗….
|
3
wanacry Jun 27, 2022 via iPhone 我的意思是:有没有有这么一种可能🤔
|
4
arch9999 Jun 27, 2022 目前来说,你是错的,但是过一段时间之后,你会发现楼上几位是错的。
|
5
runningowl OP 额,谢谢,忘了说,是个安卓 app ,不上市场
其实本来默认就是空的,让大家装好 app 自己配,然后客户觉得费事,老板就让给每个客户配好 |
6
ktqFDx9m2Bvfq3y4 Jun 27, 2022 via iPhone
那其实你不需要不同分支啊,你只需要不同配置文件,每个客户打包使用不同的就行了。
|
7
estk Jun 27, 2022 via Android
那就根据域名来区分,判断不同域名就连不同服务器地址
|
8
estk Jun 27, 2022 via Android
@runningowl
不好意思,那就根据包名连不同服务器 |
9
onetown Jun 27, 2022 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 Jun 27, 2022 via iPhone
|
13
dzdh Jun 27, 2022
|
14
maichael Jun 27, 2022
CI/CD 配置好,只要不大幅度涉及业务逻辑层的改动,怎么搞都行。
|
15
runningowl OP |