一、目标

同一套代码,在不同环境构建时加载各自环境的配置文件,如下图

在maven命令中根据-P参数加载resources下不同文件夹下的配置文件,如下面的命令就可加载dev文件夹下的配置文件dev.config

mvn -B clean package -U -Pdev

二、步骤

eova或JFinal同springboot差不多,主要以下几点:

1、pom.xml,在后面加上下面profile

 <!--放在build后面--><profiles><!--默认为测试环境--><!--mvn package -Ptest 打包测试配置--><profile><id>dev</id><activation><activeByDefault>true</activeByDefault></activation><properties><config.dir>dev</config.dir></properties></profile><profile><id>prod</id><activation><activeByDefault>false</activeByDefault></activation><properties><config.dir>default</config.dir></properties></profile><profile><id>pre</id><activation><activeByDefault>false</activeByDefault></activation><properties><config.dir>pre</config.dir></properties></profile></profiles>

2、package.xml,因为eova会把一些打包的命令放在此文件内,所以此文件也要加上配置

<fileSets><!-- src/main/resources 全部 copy 到 config 目录下 --><fileSet><directory>${basedir}/src/main/resources</directory><outputDirectory>config</outputDirectory><includes><!--  Maven -P [dev|prd]自定义参数控制 --><include>${config.dir}/*.config</include><include>*.xml</include><include>*.properties</include><include>*.txt</include></includes></fileSet></fileSets>

关键一段是:<include>${config.dir}/*.config</include>

3、deploy.yaml,这个由运维提供,没啥特别的

apiVersion: apps/v1
kind: Deployment
metadata:labels:app: 应用名name: 应用名namespace: 空间名
spec:replicas: 1revisionHistoryLimit: 10selector:matchLabels:app: 应用名strategy:rollingUpdate:maxSurge: 25%maxUnavailable: 25%type: RollingUpdatetemplate:metadata:annotations:armsPilotAutoEnable: 'on'armsPilotCreateAppName: 应用名-testlabels:app: 应用名spec:affinity:podAntiAffinity:requiredDuringSchedulingIgnoredDuringExecution:- labelSelector:matchExpressions:- key: appoperator: Invalues:- eovatopologyKey: kubernetes.io/hostnamecontainers:- image: >-${IMAGE_NAME}imagePullPolicy: IfNotPresentname: eovaports:- containerPort: 9001protocol: TCPlivenessProbe:tcpSocket:port: 9001initialDelaySeconds: 60periodSeconds: 15timeoutSeconds: 10successThreshold: 1failureThreshold: 3readinessProbe:tcpSocket:port: 9001initialDelaySeconds: 60periodSeconds: 15timeoutSeconds: 10successThreshold: 1failureThreshold: 3resources:limits:#  cpu: 2memory: 4Girequests:#  cpu: 1memory: 4GiimagePullSecrets:- name: regsecretrestartPolicy: Always
---
apiVersion: v1
kind: Service
metadata:name: 应用名namespace: 空间名
spec:ports:- name: 应用名port: 9001protocol: TCPtargetPort: 9001selector:app: 应用名type: ClusterIP

4、阿里云效构建

最简单的mvn命令

三、注意(Anolis OS)坑

服务器是架在阿里云上,阿里云linux(即Anolis OS)是基于centOS开发;但以centOS8的Anolis OS却无法部署,执行init ModLoader后就报错了,后来阿里的客户没找到原因,涉及内核,还好,用CentOS7的服务器就可以实现上述功能,多环境加载。

EovaJFinal在阿里云K8S实现多环境自动化部署相关推荐

  1. 【从零开始】阿里云服务器配置web开发环境及部署本地web项目

    背景说明:我们的项目有一个服务端的webService,跑在各自的电脑tomcat上,每次客户端申请服务时都要重新配置局域网IP(很烦).所以,我们需要一个云服务器来跑我们的webService. 项 ...

  2. 阿里云服务器绑定域名 搭建环境 到 部署项目

    之前在工作时只有在那什么堡垒机上面搭建环境部署项目,只能用内网访问的,一直想着去接触一下真正的服务器,趁着还有几个月毕业,享受优惠,赶紧到阿里云那里买了个服务器和域名,自己尝试下真正的服务器部署等操作 ...

  3. 阿里云 jenkins svn maven 构建自动化部署

    第一步:下载 jdk .tomcat.jenkins.maven jdk:http://www.oracle.com/technetwork/java/javase/downloads/index.h ...

  4. 朱晔和你聊Spring系列S1E11:小测Spring Cloud Kubernetes @ 阿里云K8S

    有关Spring Cloud Kubernetes(以下简称SCK)详见https://github.com/spring-cloud/spring-cloud-kubernetes,在本文中我们主要 ...

  5. 阿里云K8S容器服务的使用

    使用阿里云k8s构建服务 一. 上传镜像 二. k8s运行 三. 服务配置导入 四. 服务路由 五. 节点亲和性和污点管理 一. 上传镜像 在阿里云控制台找到"容器镜像服务",开启 ...

  6. 阿里云 Centos 7 PHP7环境配置 LNMP

    阿里云 Centos 7 PHP7环境配置 LNMP (centos7+nginx+MySQL5.7.9+PHP7) 首先更新系统软件$ yum update 安装nginx 1.安装nginx源 1 ...

  7. 阿里云服务器安装docker开发环境

    前段时间在阿里云上买了个服务器,打算部署一下开发环境,想了一下就使用最近一年念念不忘的docker来部署吧!他的好处就去看看官方文档吧,这边在部署使用之后会总结到该导航文章中,这篇导航文章会随时更新, ...

  8. 极智开发 | 阿里云ECS本地开发环境搭建

      欢迎关注我的公众号 [极智视界],获取我的更多笔记分享   大家好,我是极智视界,本文介绍一下 阿里云ECS本地开发环境搭建.   之前介绍过华为云的开发环境搭建,有兴趣的同学可以移步我的这篇&l ...

  9. 记一次阿里云k8s部署-测试存储

    记一次阿里云k8s部署 阿里云资源准备 服务器 ip 角色 资源 192.168.1.160 master1 2核4G 192.168.1.161 master2 2核4G 192.168.1.162 ...

  10. 阿里云轻量应用服务器环境搭建-设置通过密钥登录服务器

    阿里云轻量应用服务器环境搭建-设置通过密钥登录服务器 1.通过阿里云的控制台创建密钥. 选择密钥管理,输入密钥名称,选择自动创建密钥 下载密钥到本地 重启服务器 2.Xshell设置通过密钥连接 输入 ...

最新文章

  1. 叫你一声“孙悟空”,敢答应么?
  2. adroid 如何测试端口号_多进程启动设备和appium实现自动化测试
  3. 数学--数论--POJ 1061青蛙的约会 (扩展欧几里得算法)
  4. 她穿着由自己17封拒稿信做成的裙子,通过了博士论文答辩!
  5. [导入][转]精妙的SQL和SQL SERVER 与ACCESS、EXCEL的数据导入导出转换
  6. 与二次元老婆邂逅的游戏的创建过程(二)
  7. SQLSERVER2005发送邮件
  8. POJ 1392 Ouroboros Snake(数位欧拉:输出路径)
  9. 40+个工业检测数据集
  10. 网易有道的喜与忧:11亿营销费抢市场,与跟谁学之间还差一个有道
  11. 机器学习模型的超参数优化用于分子性质预测
  12. linux第一阶段学习笔记基础
  13. timer cancel_Java Timer cancel()方法与示例
  14. python 在线教程-python教程在线
  15. C语言实现矩阵顺时针打印
  16. 【絮叨.1】同时在写四门语言是怎样一种体验?
  17. YTU2018级每周训练-动态规划1
  18. c# 改键-之魔兽改键(Hook)
  19. MEMS振镜扫描的Lissajous图形Matlab仿真
  20. 信管/资管/博易大师软件源码+通达信配资/外汇模拟

热门文章

  1. MATLAB曲线拟合函数
  2. 实验1 matlab图像处理初步,1.实验一 MatLab数字图像处理初步
  3. 我什么都没有,只剩下坚持了!!!
  4. 【sketchup 2021】草图大师中CAD文件的导入与建模(利用cad图纸在草图大师中建立立面模型)、草图大师导出成品为dwg格式的二维、三维、立面效果到cad中打开预览】
  5. 速达服务器启动时显示对象名ACCSET无效
  6. 一个SAP顾问在美国的这些年
  7. CISSP国际注册信息系统安全专家
  8. Qt 周立功USBCAN总线上位机
  9. APISpace 空号检测API接口 免费好用
  10. mac android手机录屏软件,Mac录屏软件推荐,比Quicktime好用!