持续集成
平日在公司开发,测试阶段或会频繁地给测试人员安装应用,或是上传到蒲公英让客户试用。大公司里开发或许没有这些琐碎的事情,把代码推上代码库就完事了,剩下的有专人完成。
这段时间试用了Fastlane,用Github上的开源搭建了一个类似了蒲公英的分发平台,配合着使用,基本免去了直接和测试打交道。
那么现在进一步尝试,简单搭建一个CI流水线,像大公司里的开发一样,push了就完事。
代码库
首先需要一个代码库,能设置触发器,调起编译打包等一系列操作,SVN 不熟悉,GitHub 是能设置 webhook 的,号称 GitHub的开源版本的 Gitlab 当然也可以。
Gitlab 以前有个汉化版,8.x后就不维护了,近几年 Docker 兴起,热心群众重启汉化,并发布到镜像到Docker Hub,且版本一直跟上官方版本。一键部署,瞬间拥有自己代码库。
Docker Hub 地址 https://store.docker.com/community/images/twang2218/gitlab-ce-zh
先创建三个文件夹 config
,data
,logs
,docker-compose.yml 文件如下,需要邮件功能自行查找配置。
1 | version: '2' |
运行
1 | docker-compose up -d |
跑完了访问 localhost:31001
接下来在Gitlab上创建一个项目,给测试持续集成的项目添加这个remote upstream
jenkins
这玩意是什么呢?本人也不熟悉,大概就是一个带 web面板的持续集成工具集,使用homebrew 安装
1 | brew install jenkins |
运行
1 | brew services start jenkins |
第一次运行会提示到指定文件拿密码,按提示操作即可
接着安装推荐的插件,其它的待会装
接着创建一个管理员用户
到如下页面新建一个任务
到系统管理->管理插件->可选插件中安装gitlab和gitlab hook两款插件,勾选安装完重启Jenkins
新建任务
- 选择
构建一个自由风格的软件项目
- 选择
- 下一个页面主要填写源码管理,如URL、认证(密码或ssh公钥)
- 还有触发器
点开高级配置 Filter branches by name,分支包含指定字段就触发集成,这里配置了master
流程如下
1 | st=>start: 提交代码 |