Jenkins串行构建工具
过场
事情还得从我没事找事说起。
由于我们一直都在一个第三方平台daocloud上构建项目,他那里构建项目每次都是一个“独立空间”,无法将依赖包存起来用。
为了加快构建速度,Java项目自己搞了一个镜像,里面维护一个项目,他的pom.xml里面有我们需要的所有jar,每个项目的dockerfile再使用那个镜像就可以了,这样Maven、Git、jdk都有了,直接运行就可以了。
但是前端项目就很扯了,没有Maven这种神器,而且依赖包还巨多,每次构建项目需要新下载依赖包,因为是用的云服务器,没有配置啥代理什么的。于是想着把前端的构建依赖包下载到一个文件中,每次构建都使用这个文件。
配置说明
-
使用webhook监听Gitlab任意事件,使配置的项目能够在Jenkins中串行构建
-
依赖数据库储存webhook事件
-
Jenkins版本2.x
-
Gitlab版本11.1+
-
只能单机版运行
接口说明
config
-
新增git项目源码与Jenkins项目之间的映射关系:
POST /config/gitRepositoryAndJobMapping/insert
-
修改git项目源码与Jenkins项目之间的映射关系:
PUT /config/gitRepositoryAndJobMapping/update
-
查看当前正在执行的构建:
GET /config/job/executing
gitlab
-
webhook请求地址:
POST /gitlab/webhook/{jobName}
{jobName}
为Jenkins项目名称,暂不支持Jenkins2.x中文件工程下的项目请求头(暂不支持token)、请求体参数参考官方文档:Gitlab-Webhooks