• Eova 怎么放在 Docker中,使用阿里云流水线构建Eova!!


    Eova 快速开发框架不做过多解释,使用起来超级爽提高了我们的开发效率。

    有要了解的可以去官网看下http://www.eova.cn/ 

    最近我们想在docker中运行并且使用阿里云的云效工具去构建部署,接下来进入正题:

    首先要先把eova 运行跑在docker 中,然后使用阿里云云效工具进行构建和部署

    1.dockerfile 编写

    我用的eova 3.3.0版本使用Undertow 启动服务,目录中有几个脚本分别支持window和linux环境的eova.bat 和 eova.sh 可以直接启动

    在执行mvn clean package  会在target 打包生成 eova-pro-release.zip 文件所以我们只需要将这个文件copy到容器中解压,执行eova.sh start

    命令就可以了下面是我用的Dockerfile文件内容,Dockerfile放在项目根目录下

     1 FROM openjdk:8-jdk-alpine
     2 # 设置时区
     3 ENV TZ=Asia/Shanghai
     4 # 时区写入系统文件
     5 RUN ln -snf /usr/share/zoneinfo/$TZ  /etc/localtime && echo $TZ > /etc/timezone
     6 #COPY ./SourceHanSansCN-Normal.ttf /usr/share/fonts/SourceHanSansCN-Normal.ttf
     7 COPY ./target/eova-pro-release.zip /eova-pro-release.zip
     8 RUN unzip eova-pro-release.zip
     9 RUN chmod +x /eova.sh
    10 ENV ACTIVE_PARAMS=""
    11 ENTRYPOINT ["/eova.sh","start"]

    这个要注意的是我用的镜像是openjdk:8-jdk-alpine  所以eova.sh 文件内容要改下将 

    #!/bin/bash   改为  #!/bin/sh

    2.开始在云效中新建流水线,这个可以参考阿里云的文档去创建。

    3.补充下,在真实部署的时候,发现自己实现的类无法覆盖原有的代码。这个是因为tomcat 是默认从classes优先加载,但是Undertow 和这个机制不一样需要改下生成文件

    修改package.xml
    • 在 fileSets 中增加
      <fileSet>
                  <directory>${basedir}/target/classes</directory>
                  <outputDirectory>classes</outputDirectory>
              </fileSet>
    • 在dependencySets节点下dependencySet中增加排除自身jar的配置
      <excludes>
                      <exclude>cn.startom:mywadmin*:jar</exclude>
                  </excludes>
    • 配置eova.bat 和 eova.sh 文件增加classes路径在上
      CP=${APP_BASE_PATH}/classes:${APP_BASE_PATH}/config:${APP_BASE_PATH}/lib/*  windows eova.bat类似配置即可

  • 相关阅读:
    MySQL 50条必练查询语句
    Spring MVC
    macaron 根目录默认为templates文件夹,所以如果启动目录同目录下有templates目录,要给它指定另一个文件夹
    table 表格配色
    应用连接数瓶颈解决方案
    idea修改文件的打开方式
    golang template使用
    childnode的after()方法失效问题
    vue双循环或者多循环作用于同一元素时,在外套template标签
    vue遇到组件数据变更了,但是不渲染的问题
  • 原文地址:https://www.cnblogs.com/chenzhe/p/12376316.html
Copyright © 2020-2023  润新知