1
0x5e 2016-10-14 09:39:46 +08:00
可以把配置放在一份 plist 文件里,和图片资源一样只是替换文件,尽量不改代码
|
2
murmur 2016-10-14 09:40:06 +08:00
我们用的 cordova 30 多个发布版(没办法。。虽然是一个东西,但是用户要求自己的 logo 乱七八糟一堆 图标什么的,然后 bundle Id 也一堆,乱七八糟 provision 什么)
只能改总配置 cordova 重新生成项目 另外 xcode 的脑残工程格式绝对不是人能理解的 一层套一层 如果你只是认为每个文件都有一个 uuid 就错了 他那个嵌套的层级关系恶心到你想吐 同样的东西你不知道要改几次 |
3
grayon 2016-10-14 09:42:08 +08:00
jenkins 持续集成环境
|
7
murmur 2016-10-14 09:45:37 +08:00
@zongren 写了个 nodejs 脚本去编辑这些信息 本来是想挂钩 cordova 的几个步骤的 后来发现有些东西光挂钩做不到 干脆就直接在 build 前全改好了
|
10
hellboys 2016-10-14 09:50:49 +08:00
建立不同的 Configuration, Project-UserA.xcconfig,Project-UserB.xcconfig
https://github.com/facebook/pop/tree/master/Configuration/Projects |
12
holmesabc 2016-10-14 09:56:36 +08:00 1
我是用 jenkins ,打 Android
配合各种 Bash 脚本,偶尔写几个专用的命令行小工具。 sed 来修改 gradle 参数等。 jenkins 还自带 API ,完全也可自己封个后台给客户 |
13
chmlai 2016-10-14 10:13:59 +08:00 1
fastlane
|
14
LancerXin 2016-10-14 10:15:09 +08:00 1
docker+jenkins 比较好,有时候需要编译多个环境版本,环境变量需要隔离,配置比较麻烦,直接用 docker 隔离省事很多,以后迁移和方便
|
16
xiubin 2016-10-14 11:23:01 +08:00 via iPhone
我之前做过一次,把不同的写成配置文件,编译之前用脚本修改
|
18
agassi_yzh 2016-10-14 11:41:51 +08:00
jenkins + Fastlane
|
19
coagent 2016-10-14 12:46:48 +08:00
|
22
coagent 2016-10-14 12:52:16 +08:00
@zongren 不客气的。客户的相关信息(包名,第三方应用 App Key ,图标等),这些可以做成配置类的脚本或者 XML 之类的,然后扔 GIT 里,每次打包时更新,然后脚本改相关信息后再继续打包.
|
24
ma125125t 2016-10-14 14:38:35 +08:00
做过,用的是 jenkins ,属于比较通用的 CI 了,但是要注意的是, iOS 的打包必须使用 OS 系统,你服务器得买一台 OS 云服务器或者用自己的 mac 搭建一个服务器。
|
25
ma125125t 2016-10-14 14:41:54 +08:00
jenkins 会不间断地自动去 git 上指定分支进行打包,并且可以根据时间戳、版本号修改当前版本号、编译号,打包完成后可以自动执行脚本,调用第三方市场的上传应用 API 。方便得很
|
26
zongren OP @ma125125t 肯定要用 macOS 系统,这个还是知道的,其实用 git 分支也是个解决办法,不过时不时把需要修改的文件放在分支中,不会把整个项目放里面呢
|
27
kitalphaj 2016-10-14 14:47:56 +08:00
现在主流是 fastlane , iOS 还有一个开源库叫 XcodeEditor ,你可以用它写一个程序专门生成特定的 target ,然后用 fastlane 编译打包上传。 Android 你可以借助 gradle 的 buildType 和 productFlavor 。 iOS 你基本上可以完全自动,但是 Android 你要是想发布 Play Store 暂时无法完成上传截图什么的。我们公司用这个方法搞的,挺方便。
|