Jenkins
Jenkins 是一个独立的开源软件项目,是基于 Java 开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。前身是 Hudson 是一个可扩展的持续集成引擎。可用于自动化各种任务,如构建,测试和部署软件。Jenkins 可以通过本机系统包 Docker安装,甚至可以通过安装 Java Runtime Environment 的任何机器独立运行。
主要用于:
- 持续、自动地构建/测试软件项目,如 CruiseControl 与 DamageControl。
- 监控一些定时执行的任务。
示例
WARNING
以下示例仅供参考
Jenkins 配置
点击新建任务
输入项目名称,进行配置
General:
源码管理:输入仓库 URL、服务器认证信息(Credentials)、指定拉取的分支
构建触发器:注意记录 webhook 的地址
^8by6c8
构建环境:
构建:编写 shell 命令,以打包构建项目
bashecho $PATH node -v npm -v npm config set registry http://registry.npm.taobao.org npm config get registry npm install npm run build tar -zcvf dist.tar.gz ./dist
以上命令打包项目并压缩为
dist.tar.gz
文件构建后操作:将打包产物发送到服务器并解压到指定目录:选择 SSH 服务器,源文件(打包的压缩文件)、远程目录,输入传输完成后需要执行的命令
bashcd /www/wwwroot rm -f dist.tar.gz.bak tar -zcvf dist.tar.gz.bak ./dist rm -rf /www/wwwroot/dist tar -zxvf dist.tar.gz rm -f dist.tar.gz
删除原备份文件,重新生成新备份。然后删除 web 目录,使用新资源覆盖。最后删除压缩包
Gitlab 配置
jenkins 中配置完成后,还需要在项目中配置 webhooks
打开 Gitlab,进入项目,点击设置 -Webhooks,输入 上面第5步 的 hook 地址,选择触发来源为推送事件,通配符样式设置为 dev。标识只推送 dev 分支的 push 事件。最后点击添加 webhook 即可