EovaJFinal在阿里云K8S实现多环境自动化部署
一、目标
同一套代码,在不同环境构建时加载各自环境的配置文件,如下图
在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实现多环境自动化部署相关推荐
- 【从零开始】阿里云服务器配置web开发环境及部署本地web项目
背景说明:我们的项目有一个服务端的webService,跑在各自的电脑tomcat上,每次客户端申请服务时都要重新配置局域网IP(很烦).所以,我们需要一个云服务器来跑我们的webService. 项 ...
- 阿里云服务器绑定域名 搭建环境 到 部署项目
之前在工作时只有在那什么堡垒机上面搭建环境部署项目,只能用内网访问的,一直想着去接触一下真正的服务器,趁着还有几个月毕业,享受优惠,赶紧到阿里云那里买了个服务器和域名,自己尝试下真正的服务器部署等操作 ...
- 阿里云 jenkins svn maven 构建自动化部署
第一步:下载 jdk .tomcat.jenkins.maven jdk:http://www.oracle.com/technetwork/java/javase/downloads/index.h ...
- 朱晔和你聊Spring系列S1E11:小测Spring Cloud Kubernetes @ 阿里云K8S
有关Spring Cloud Kubernetes(以下简称SCK)详见https://github.com/spring-cloud/spring-cloud-kubernetes,在本文中我们主要 ...
- 阿里云K8S容器服务的使用
使用阿里云k8s构建服务 一. 上传镜像 二. k8s运行 三. 服务配置导入 四. 服务路由 五. 节点亲和性和污点管理 一. 上传镜像 在阿里云控制台找到"容器镜像服务",开启 ...
- 阿里云 Centos 7 PHP7环境配置 LNMP
阿里云 Centos 7 PHP7环境配置 LNMP (centos7+nginx+MySQL5.7.9+PHP7) 首先更新系统软件$ yum update 安装nginx 1.安装nginx源 1 ...
- 阿里云服务器安装docker开发环境
前段时间在阿里云上买了个服务器,打算部署一下开发环境,想了一下就使用最近一年念念不忘的docker来部署吧!他的好处就去看看官方文档吧,这边在部署使用之后会总结到该导航文章中,这篇导航文章会随时更新, ...
- 极智开发 | 阿里云ECS本地开发环境搭建
欢迎关注我的公众号 [极智视界],获取我的更多笔记分享 大家好,我是极智视界,本文介绍一下 阿里云ECS本地开发环境搭建. 之前介绍过华为云的开发环境搭建,有兴趣的同学可以移步我的这篇&l ...
- 记一次阿里云k8s部署-测试存储
记一次阿里云k8s部署 阿里云资源准备 服务器 ip 角色 资源 192.168.1.160 master1 2核4G 192.168.1.161 master2 2核4G 192.168.1.162 ...
- 阿里云轻量应用服务器环境搭建-设置通过密钥登录服务器
阿里云轻量应用服务器环境搭建-设置通过密钥登录服务器 1.通过阿里云的控制台创建密钥. 选择密钥管理,输入密钥名称,选择自动创建密钥 下载密钥到本地 重启服务器 2.Xshell设置通过密钥连接 输入 ...
最新文章
- 叫你一声“孙悟空”,敢答应么?
- adroid 如何测试端口号_多进程启动设备和appium实现自动化测试
- 数学--数论--POJ 1061青蛙的约会 (扩展欧几里得算法)
- 她穿着由自己17封拒稿信做成的裙子,通过了博士论文答辩!
- [导入][转]精妙的SQL和SQL SERVER 与ACCESS、EXCEL的数据导入导出转换
- 与二次元老婆邂逅的游戏的创建过程(二)
- SQLSERVER2005发送邮件
- POJ 1392 Ouroboros Snake(数位欧拉:输出路径)
- 40+个工业检测数据集
- 网易有道的喜与忧:11亿营销费抢市场,与跟谁学之间还差一个有道
- 机器学习模型的超参数优化用于分子性质预测
- linux第一阶段学习笔记基础
- timer cancel_Java Timer cancel()方法与示例
- python 在线教程-python教程在线
- C语言实现矩阵顺时针打印
- 【絮叨.1】同时在写四门语言是怎样一种体验?
- YTU2018级每周训练-动态规划1
- c# 改键-之魔兽改键(Hook)
- MEMS振镜扫描的Lissajous图形Matlab仿真
- 信管/资管/博易大师软件源码+通达信配资/外汇模拟
热门文章
- MATLAB曲线拟合函数
- 实验1 matlab图像处理初步,1.实验一 MatLab数字图像处理初步
- 我什么都没有,只剩下坚持了!!!
- 【sketchup 2021】草图大师中CAD文件的导入与建模(利用cad图纸在草图大师中建立立面模型)、草图大师导出成品为dwg格式的二维、三维、立面效果到cad中打开预览】
- 速达服务器启动时显示对象名ACCSET无效
- 一个SAP顾问在美国的这些年
- CISSP国际注册信息系统安全专家
- Qt 周立功USBCAN总线上位机
- APISpace 空号检测API接口 免费好用
- mac android手机录屏软件,Mac录屏软件推荐,比Quicktime好用!