universal-jk-deploy - 基于 Jenkins 与 Ansible 的应用部署方案


未知
跨平台
SHELL

软件简介

此项目的初衷是基于 JenkinsAnsible
提供一套能兼容大多数应用场景的部署方案,提供一个统一的“配置界面”来完成大多数项目的部署工作,而无需关注底层脚本的实现。

具体一点来讲:将打包或编译,服务的启停,服务在反向代理的摘除和重新加入等操作在底层脚本中予以组合,但是底层脚本不涉及到具体的服务启停命令或取值等,只提供逻辑框架。而描述项目部署的各种信息均在jenkins作业的配置界面中予以设置(这是在Jenkins中设置部署作业的最外层也是最直接看到的地方)。

依赖

当然是Jenkins和Ansible

大致可以将应用部署分为两类

  1. 经过反向代理的后端服务,例如:java或者python以及php等
    流程:从反向代理中踢除待更新后端 ----> 关闭后端 ----> 更新代码 ----> 启动后端 ----> url探活 ----> 后端重新加入反向代理

  2. 不经过反向代理,静态文件或者通过npm打包生成静态文件的项目
    流程:关闭后端[可选] ----> 更新代码 ----> 启动后端[可选]

注:本套脚本目前仅支持采用nginx作为反向代理的场景