目的
结合阿里云云效平台,实现自动化部署Maven多模块项目
云效 + Docker
部署方式:
扫描子模块 -> 子模块打包、构建镜像、推送到镜像仓库 -> 执行脚本运行服务器上脚本(删除旧镜像、拉新镜像、关闭对应模块容器、重新执行docker-compose.yml)
搭建项目
# jdk
FROM jbk
MAINTAINER bb
COPY target/provider-0.0.1-SNAPSHOT.jar /
ENTRYPOINT ["sh", "-c", "exec java ${JVM_OPTS} -jar /provider-0.0.1-SNAPSHOT.jar"]
创建代码仓库并提交
创建项目
创建应用
简述:相当于项目下的某个模块
简述:开发环境/测试环境/生产环境,各个环境部署方式、绑定机器不同
创建镜像仓库
创建流水线
根据上面的部署方式选择如下配置即可
服务器脚本
这里是根据传入参数决定执行开发/生产环境的docker-compose.yml文件
看各自如何设计即可
启动后查看容器
也可以写个测试接口在服务器上wget下
域名解析
小结
个人理解:
项目 - 应用(子模块) - 环境(各个环境对应的部署方式、服务器等) - 流水线(自动化打包项目、构建/推送镜像、自动部署等)