一、方案简介

1、项目代码存储阿里云CODE

2、Java项目 maven私有仓库使用阿里云仓库服务

3、镜像仓库使用阿里云容器镜像服务

代码推送到仓库---->触发镜像服务自动生成项目镜像----->触发rancher的Webhooks容器自动升级

二、具体实施步骤(举例)

1、阿里云CODE创建项目

  • 地址:https://code.aliyun.com/ ,创建项目组,新增项目,将本地项目提交到仓库

2、阿里云容器镜像服务

  • 新增命名空间
  • 创建镜像仓库
  • 代码与镜像仓库的关联就在这里
  • 选择项目
  • 创建完成,进入仓库详情页
  • 构建-主要是提交代码触发镜像构建的的一些设置,比如分支提交自动构建,分支tag自动构建
  • 触发器-主要是构建完成后自动进行镜像的处理,比如直接调用rancher的Webhooks进行升级

3、镜像自动构建

  • 构建-默认规则为分支提交tag,tag命名为tags:release-v$version格式,比如:tags:release-v20202020
  • 例:构建后的镜像版本为20202020

  • 新建构建规则,分支提交自动构建,提交代码到指定分支,可自动触发
  • 注意此处的Dockerfile目录及Dockerfile文件名称,镜像构建依赖此配置,可在项目根目录放置Dockerfile文件
  • 镜像版本此处只支持静态即命名为latest,但是有缺陷的是镜像版本会覆盖,回滚时无法选择版本号

4、触发rancher自动升级

  • 创建触发器
  • 触发器URL填写rancher内设置的Webhooks地址,触发方式可选择Tag触发,即上面配置的版本号latest

5、rancher配置

  • 添加镜像库为阿里云镜像地址,输入账号密码
  • 选择专有网络地址会更快 例如: registry-vpc.cn-shanghai.aliyuncs.com
  • 新增Webhooks地址 API菜单Webhooks
  • 镜像标签即为镜像的版本号,当阿里云触发此Webhooks时,会json传参数,其中tag:latest
  • 服务选择器即为要升级的服务,比如task项目,可在task项目打一个标签,在此处填写
  • 多个服务需添加多个Webhooks地址
  • 添加成功后,将此地址填写到 上面看到到阿里云触发器URL即可

 6、完成配置

  • 至此整个流程配置完成
  • 开发人员开发dev分支,提交测试,codereview后最终代码合并到release分支,自动触发镜像构建。镜像构建完成后,自动推送到rancher的webhooks,服务即滚动升级完成。

三、其他说明

## docker环境安装yum install dockerservice docker startchkconfig docker on
## ECS 上 安装 ranchersudo docker run -d --restart=unless-stopped -p 8080:8080 rancher/server:v1.6.21
## java 项目Dockerfile需两阶段构建1、先使用maven镜像将项目打包成jar包 maven镜像可用自己的
2、将jar包传入二阶段镜像继续制作例子:FROM maven:3.5-jdk-8 AS buildRUN mkdir -p /build/app
RUN mkdir -p /build/configCOPY ./ /build/app##此处因为涉及私有maven仓库settings文件覆盖默认的
COPY docker/settings.xml /build/config##打包代码
RUN mvn clean -f /build/app clean -s "/build/config/settings.xml" package -Pprod -Dmaven.test.skip=true##此处为最终镜像依赖
FROM registry.cn-hangzhou.aliyuncs.com/xxx/centos-tomcat8:latestRUN mkdir -p /build/deploy##从一阶段 镜像内拷贝WAR包
COPY --from=0 /build/app/target/app.war /build/deploy/

如有更好方案或其他问题可留言

                                                                         登录阿里云赶紧操作吧

一台阿里云ECS下的CIDI方案 最具性价比的简化DevOps自动化部署方案相关推荐

  1. 阿里云ECS服务器安装mysql8

    前言 这两天买了台阿里云ECS服务器,准备安装mysql8,看了网上安装流程,结果五花八门,没有一个正确的,在这里我整理了下安装步骤分享下! 下载地址 https://downloads.mysql. ...

  2. 使用阿里云ECS搭建基于Wordpress的个人网站

    1.前言及自我简介 笔者是一名本科大二在读学生.在本文中,笔者将尽量以初学者的角度,为所有初次接触ECS并想要建立个人网站的朋友详细讲述流程与心得. 由于阿里云的"飞天加速计划", ...

  3. 阿里云ECS服务器+WordPress快速搭建个人博客

    本文是转载,但完善了一些细节,精简了部分步骤,以及lnmp一键安装后的一些单独服务启动命令. 开始前准备: 一台阿里云ECS或者轻量级的服务器 Linux基础操作 喜欢捣鼓,善于思考 Windows上 ...

  4. 阿里云ECS每天一件事D1:配置SSH

    近期因为项目需求,采购了两台阿里云ECS,选择的系统为CentOS 6.3 X64 安全加固版,额外买了160G的硬盘,应该够应付此项目的需求了. ECS默认已经配置好了sshd服务,可以使用root ...

  5. 利用阿里云ECS服务器构建Docker公有仓库

    文章目录 仓库搭建流程 1.安装.启动docker 2.docker下载registry.busybox 3.给busybox镜像重命名 4.启动registry镜像 5.上传busybox镜像到启动 ...

  6. 阿里云ECS主机 Ubuntu下设置Mysql 5.7.17为远程访问

    2019独角兽企业重金招聘Python工程师标准>>> 阿里云ECS主机 Ubuntu下设置Mysql 5.7.17为远程访问 进入mysql mysql -uroot -p 选择数 ...

  7. 阿里云ECS搭建正向代理,代理线下办公网络代理上网

    一.业务需求 由于安全限制,公司线下互联网出口IP地址被局端安全设备封堵,使用公司线下互联网出口访问不了局端业务.为解决此问题,在阿里云ECS虚拟机上搭建正向代理服务器,代理线下办公电脑访问局端业务. ...

  8. 阿里云ecs建站 一键环境配置 图文超详细_liunx下建站,适合纯新手小白

    终于将网站搭建完了,折腾了很久没有找到像我们这种小白的教程,那就写一篇吧! 一.购买域名和阿里云ecs 首先,我们需要购买ecs,选择了1核1G的入门版,地域可以选择离你比较近的:在这里我们CentO ...

  9. 记录如何将阿里云ECS主机以镜像方式迁移到线下机房vmware esxi主机

    简单记录一下步骤: 参考:https://dev-tang.com/post/2020/03/esxi-vmdk.html 第一步:登录阿里云控制台,创建自定义镜像: 第二部:导出刚刚创建的镜像到本地 ...

  10. 阿里云ECS服务器Linux环境下配置php服务器(三)--项目部署篇

    在前两篇里,我们分别介绍了如何购买阿里云服务器,安装基本软件和配置(请看阿里云ECS服务器Linux环境下配置php服务器(一)--基础配置篇) 以及如何安装使用phpMyAdmin(请看阿里云ECS ...

最新文章

  1. R语言-常用对象及元素类型
  2. c语言用define预处理命令定义,C语言程序设计第八章预处理命令..doc
  3. Eclipse生成jar包
  4. RiPro子主题V8.0 – V8.1,开心版
  5. 计算机文字排版竞赛标准,文字录入与排版高手竞赛方案(Word2010).doc
  6. 公众号题库搜题对接(提供免费接口)
  7. 查看mysql中SQL的执行计划
  8. 可重入锁模拟三个线程之间的通信
  9. 耐得住寂寞方能不寂寞
  10. Java-Tcp/Ip-CS控制台聊天应用Demo
  11. 纺织品GRSlogo使用标准 GRS认证的详情概括
  12. 代码主题darcula_设置IntelliJ主题和字体方法
  13. 记一次confluence邮件服务器配置的坑(阿里企业邮箱)
  14. wpf 的 Window或UserControl绑定自己后台属性
  15. phpoffice/phpword 表格合并和表格绝对居中
  16. McAfee白名单设置
  17. zcash mining
  18. 14 款好用的 iOS 开发工具
  19. 艾永亮:产品MVP到底该怎么做?
  20. 用户增长+流量变现 | 优加平台助推移动阅读行业打造生态闭环!

热门文章

  1. 服务器pbs傻瓜操作
  2. python清明节作业
  3. 上海应届毕业生起薪调查报告
  4. 中国地产商寻找下一个春天
  5. 斐波那契查找(黄金分割法查找)算法
  6. 笔记本电脑(windows10)qq聊天时对方听不到自己的声音
  7. 中国志愿者服务器注册,如何注册成为志愿者?中国志愿服务网注册流程
  8. 12306订票候补是个坑_12306网上订票候补是什么意思
  9. gps测试软件搜索不到星,手机搜不到星 搜星慢终极解决方法!
  10. 使用 Roadrunner 为 PHP 程序加速