2021-12-31 阿里云云效自动化部署

目的

结合阿里云云效平台,实现自动化部署Maven多模块项目
云效 + Docker

部署方式:

扫描子模块 -> 子模块打包、构建镜像、推送到镜像仓库 -> 执行脚本运行服务器上脚本(删除旧镜像、拉新镜像、关闭对应模块容器、重新执行docker-compose.yml)


搭建项目

2021-12-31 阿里云云效自动化部署_第1张图片

  • Dockerfile
# 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"]

创建代码仓库并提交

云效代码仓库
2021-12-31 阿里云云效自动化部署_第2张图片


创建项目

首页
在这里插入图片描述


创建应用

简述:相当于项目下的某个模块
2021-12-31 阿里云云效自动化部署_第3张图片

  • 创建环境

简述:开发环境/测试环境/生产环境,各个环境部署方式、绑定机器不同
2021-12-31 阿里云云效自动化部署_第4张图片


创建镜像仓库

镜像仓库
2021-12-31 阿里云云效自动化部署_第5张图片


创建流水线

根据上面的部署方式选择如下配置即可
2021-12-31 阿里云云效自动化部署_第6张图片

  • 配置
    • 代码扫描:定义扫描脚本

2021-12-31 阿里云云效自动化部署_第7张图片

    • Docker镜像构建:maven打包、构建镜像并推送至仓库

2021-12-31 阿里云云效自动化部署_第8张图片

    • 主机脚本部署:选好一配置的应用和环境即可

2021-12-31 阿里云云效自动化部署_第9张图片


服务器脚本

这里是根据传入参数决定执行开发/生产环境的docker-compose.yml文件
看各自如何设计即可
启动后查看容器
也可以写个测试接口在服务器上wget下


域名解析

域名解析


小结

个人理解:
项目 - 应用(子模块) - 环境(各个环境对应的部署方式、服务器等) - 流水线(自动化打包项目、构建/推送镜像、自动部署等)

你可能感兴趣的:(阿里云云效,自动化,docker,java)