小弟是做 iOS 的,给公司搭了个构建服务器跑 jenkins,jenkins 上建任务来跑脚本( shell )进行打包,打完后上传的公司的 maven 仓库。
现在为了使用更加方便,所以要进行更多的参数化来配置我们的脚本。(签名配置、UI 资源配置、git 信息提取、debug/release 等等) 目前已经 7 个参数了,估计还要增加个四五个。 脚本代码行数也越来越多,不方便维护。新人接手估计也够呛。
所以想请教一下各位,有没有更好的方法管理脚本?或者更抽象的语言?
脚本主要是配置各种参数给这两个工具 1.gym 开源的 xcode 打包工具( https://github.com/fastlane/fastlane/tree/master/gym ) 2.curl 上传到 maven
1
crysislinux 2017-05-24 14:41:38 +08:00
可以换个脚本吧,比如 Python ?
|
2
finab 2017-05-24 14:50:22 +08:00
。。。。。
或许你知道 fastlane 吗? |
3
finab 2017-05-24 14:50:58 +08:00
擦,你知道啊,那你上面那些问题不是问题啊
|
4
rockyou12 2017-05-24 14:58:28 +08:00
jenkins 自己就是 groovy 脚本啊,会 java 两下就上手了,虽然好多 groovy 语法用不了,有点坑。但人家带个插件和库还算全,基本不需要写 shell。
|
5
54007 2017-05-24 15:03:29 +08:00
@crysislinux python 学需要调用 linux 命令才可以吧
|
6
wellsc 2017-05-24 15:04:28 +08:00
powershell
|
7
54007 2017-05-24 15:04:50 +08:00
maven 不是管理 jar 包的吗,也可以管理 ios 的代码吗
|
8
hellojl 2017-05-24 15:11:12 +08:00
可以多建几个 job 啊,配置好上下游的关系。或者对 build 的脚本单独起一个 repo,在 Jenkins shell 中 clone & run
|
11
xjj59307 2017-05-24 15:12:55 +08:00
|
12
6yong OP 先谢楼上各位 我在描述下我的需求吧
现在我的脚本需要支持太多功能, 比如 1、更改打包的版本号 2、打包 debug 或 release 版本,或 all 3、上传到 maven 的哪个仓库 4、上传到 maven 显示的文件名 。。。 等等这些之前是写死在脚本内的,现在改由外部传参进去指定。 现在脚本已经几百行了,要扩展更多的原本写死的参数,由于不是对象语言,所以维护起来越来越麻烦。 所以想问大家是否有这方面经验 |
14
ostholz 2017-05-24 15:29:06 +08:00
我用 ruby 写 iOS, 打包, 上传脚本.
|
15
momocraft 2017-05-24 15:40:47 +08:00
build 一般也还是在处理 shell 命令和文件,可能 bash 已经是最方便的语言了
可以考虑把一些流程抽象成 bash 函数? |
17
kanchi240 2017-05-24 16:25:49 +08:00
1、更改打包的版本号
修改 pom 里面的版本号 2、打包 debug 或 release 版本,或 all 代码拉分支,配置文件里面配置不同的仓库 3、上传到 maven 的哪个仓库 代码拉分支,配置文件里面配置不同的仓库 4、上传到 maven 显示的文件名 不懂。。 |
18
sosng 2017-05-24 22:42:04 +08:00
用 fastlane,半天 ruby 经验,美滋滋
|