持续集成

平日在公司开发,测试阶段或会频繁地给测试人员安装应用,或是上传到蒲公英让客户试用。大公司里开发或许没有这些琐碎的事情,把代码推上代码库就完事了,剩下的有专人完成。

这段时间试用了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

先创建三个文件夹 configdatalogs,docker-compose.yml 文件如下,需要邮件功能自行查找配置。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
version: '2'
services:
gitlab:
image: 'twang2218/gitlab-ce-zh:latest'
restart: unless-stopped
hostname: 'git.sephilex.com'
environment:
TZ: 'Asia/Shanghai'
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://git.sephilex.com'
gitlab_rails['time_zone'] = 'Asia/Shanghai'
# 需要配置到 gitlab.rb 中的配置可以在这里配置,每个配置一行,注意缩进。
# 比如下面的电子邮件的配置:
ports:
- '31001:80'
- '31002:443'
- '31003:22'
volumes:
- ./config:/etc/gitlab
- ./data:/var/opt/gitlab
- ./logs:/var/log/gitlab

运行

1
docker-compose up -d

跑完了访问 localhost:31001

接下来在Gitlab上创建一个项目,给测试持续集成的项目添加这个remote upstream

jenkins

这玩意是什么呢?本人也不熟悉,大概就是一个带 web面板的持续集成工具集,使用homebrew 安装

1
brew install jenkins

运行

1
brew services start jenkins

第一次运行会提示到指定文件拿密码,按提示操作即可

接着安装推荐的插件,其它的待会装

758f28133958ce6c

接着创建一个管理员用户

到如下页面新建一个任务

63fc81e343a36973

  • 到系统管理->管理插件->可选插件中安装gitlab和gitlab hook两款插件,勾选安装完重启Jenkins

  • 新建任务

    • 选择 构建一个自由风格的软件项目

9c549d4c14a317f6

- 下一个页面主要填写源码管理,如URL、认证(密码或ssh公钥)

217260a297f6616a

a5792b4ba00a5411

  • 还有触发器

27e468608173818b

点开高级配置 Filter branches by name,分支包含指定字段就触发集成,这里配置了master

流程如下

本文标题:持续集成

文章作者:Sephilex

发布时间:2018年04月03日 - 21:04

最后更新:2020年06月26日 - 08:06

原始链接:https://sephilex.com/2018/04/03/持续集成/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

坚持原创技术分享,您的支持将鼓励我继续创作!