- 博客(14)
- 资源 (1)
- 收藏
- 关注
原创 wydevops——与Jenkins集成
Java项目有两种主流的构建工具: maven和gradle。gradle是比maven更新一代的构建工具,但maven项目更普遍存在,这里定义的Dockerfile针对的是maven项目(使用maven作为构建工具的Java项目)。Dockerfile内容如下:USER root(这Dockerfile文件是根据Jenkins给出的代理节点的连接脚本写的。在执行docker run时需要配置Dockerfile文件中定义好的环境变量)
2024-06-24 18:44:43 1044
原创 wydevops——微服务直上K8S云就是这么简单(续6)
在本文之前我已经写了12篇与wydevops相关的文章,介绍了wydevops从初始化到Docker镜像打包,再到chart镜像打包的大致过程,重点介绍了wydevops的参数映射机制、三级功能扩展机制、调用链机制、资源生成器插件机制等核心技术和关键规则,并以Java语言项目为例对这些重要功能进行了演示说明,这些示例充分的展示了:在团队预置好参数定义的情况下,业务开发人员可轻松具备无需太多配置甚至不需配置即可将微服务发布到K8S集群中的能力。
2024-06-19 14:58:10 891
原创 wydevops——微服务直上K8S云就是这么简单(续5)
并在chart阶段依次执行在项目ci-cd.yaml文件的resourcePlugins参数中定义好的插件(enable为false则不执行),如果找到的是第一种插件则执行对应的shell脚本,如果找到的是第二种插件,则直接复制插件目录中所有yaml文件到当前Chart镜像的template目录中。(上面命令最后面的kube-config文件就是java-sample项目中wydevops/deploy目录下的同名文件,可自行复制到d盘根目录下,或修改上述命令中kube-config文件的路径)
2024-06-18 18:05:25 787
原创 wydevops——微服务直上K8S云就是这么简单(续4)
在实际项目部署过程中,是使用了另一个wydevops的组件:"wydevops微服务管理平台",用户通过该平台提供的UI界面上传wydevops生成的离线安装包,该平台自动解析离线安装包中的参数并通过界面展示给用户,用户可在界面上对各种参数进行修改,修改完毕后该安装器将使用用户动态设置的参数值完成微服务安装。如果原来就存在该配置节,则会进行合并处理:插入不存在的参数及其值,存在的参数其值保持不变(ci-cd-config.yaml文件中的参数值优先级高于项目配置文件中为参数设置的默认值)。
2024-06-17 16:59:47 974
原创 wydevops——微服务直上K8S云就是这么简单(续3)
这种场景下wydevops为你提供了本地第三方镜像缓存机制,只要你在本地构建中使用了第三方镜像(默认只缓存从公网拉取的,私库拉取的不会缓存),则wydevops会在指定的目录中保存这些第三方镜像的导出文件,并且在拉取镜像时会优先查询本地镜像缓存目录中是否存在目标镜像,如果存在则直接使用docker load命令加载到本地docker环境中。上图1处,我们看到出现了两个新文件,名称中包含-base-串的是应用基础镜像,名称中包含-business-串的是应用业务镜像。如此简单的一个微服务就有这么大!
2024-06-16 20:56:59 1025
原创 wydevops——微服务直上K8S云就是这么简单(续2)
那么Java项目的编译是在哪里调用的呢?遇到某具体项目,可能需要通过向ci-cd-config.yaml配置文件添加新的参数和值,最终注入到ci-cd.yaml文件中,然后开发人员在项目中的wydevops/shell目录中提供某个功能扩展点的项目级实现,在该实现中读取注入的新参数并进行相应的操作——这种强大灵活的扩展性是wydevops的架构设计如此优秀带来的福利之一。标记2的红框中是wydevops为build阶段提供的6个功能扩展点,这些扩展点的公共级实现都在红框1中加载的那个脚本文件中实现的。
2024-06-14 17:29:05 852
原创 wydevops——微服务直上K8S云就是这么简单(续1)
pom.xml文件中的cicdName参数是个自定义的参数(熟悉maven pom.xml文件的人应该知道),根据params-mapping-in-xml-file.config文件中的配置,我们知道该参数值(唯一DevOps)被赋值给了配置模板文件_ci-cd-template.yaml中的globalParams.name参数。这里截取了java-sample项目中pom.xml文件的部分内容(不需要明白这个文件是作什么用的,只需要知道这是从xml格式的文件获取wydevops需要的参数的样例。
2024-06-13 17:18:38 894
原创 wydevops——微服务直上K8S云就是这么简单
ci-cd.yaml: 该文件是所有配置项解析处理后的标准文件.其内存放了5个构建阶段最终的所有配置参数. 当因配置错误中断执行后, 我们想修改配置后从报错的阶段开始继续运行后面的过程时, 不能去修改ci-cd-config.yaml里面的参数,而要修改ci-cd.yaml中的参数才能其作用. 因为接续执行后面过程时-c标志会被删除, 此时不会执行从ci-cd-config.yaml读取参数的过程了.》介绍了wydevops本地工作模式下,直接从源码生成docker镜像并在配置的节点上运行起来。
2024-06-11 15:21:09 1097
原创 wydevops——微服务打包发布如此简单!
图中展示了application.yml文件的内容,展示出来的这些参数都是wydevops会自动读取(通过源码中script/templates/config/java/param-mapping目录下的配置文件指定的)和处理的参数。在本地工作方式下,wydevops可以工作在两种配置环境下,第一种是无仓库环境(没有配置有docker仓库和chart仓库的工作环境),第二种是有仓库环境(配置有docker仓库和chart仓库的工作环境)。在无仓库环境下,wydevops仅支持微服务的docker部署方式。
2024-06-11 01:23:39 778
原创 wydevops——最敏捷的开源的Devops工具
wydevops使用统一的标准过程来管理微服务的编译构建、docker镜像生成(多架构)、Chart镜像生成、离线发布包生成,以及自动部署等过程。wydevops项目的目标是打造功能最强大的、最易扩展和维护的、使用最简单的devops工具。后续会在wydevops项目的基础上,开发K8S环境下的面对客户和用户(而非维护人员)的微服务管理平台。6. 支持离线构建微服务部署包,本地会缓存从公网拉取的所有第三方镜像,为私网环境下的微服务开发提供了极大便利。后续会逐步发文向大家介绍它的使用和配置方式。
2024-06-08 23:54:46 305
原创 WYDevOps敏捷工具的架构设计(三)——三级扩展机制
上图中可以看到项目中common目录(公共扩展文件目录)还有编译构建脚本build.sh的功能扩展文件build-extend-point.sh、docker镜像生成和推送脚本docker.sh的功能扩展文件docker-extend-point.sh、chart镜像生成和推送脚本chart.sh的功能扩展文件chart-extend-point.sh、服务部署脚本deploy.sh的功能扩展文件deploy-extend-point.sh。下面给出扩展点的调用方式和三级扩展机制的实现,很简单的。
2024-04-02 10:34:15 599
原创 WYDevOps敏捷工具的架构设计(二)——部署图、参数配置及其扩展机制
在实际项目中,我们首先需要定义好ci-cd.yaml文件的内容,这个文件也是ci-cd-template.yaml文件的标准模板(ci-cd-template.yaml文件的内容必须是ci-cd.yaml文件的全量内容)。一般情况下,项目中配置好ci-cd-config.yaml文件,工具集读取ci-cd-config.yaml中的参数值覆盖模板文件_ci-cd-config.yaml文件中的参数。ci-cd-template.yaml提供了复杂参数(对象类参数)的配置功能,三个配置节的参数都能进行配置。
2024-03-04 15:14:49 897
wince/mobile下的蓝牙应用层DLL(非常好用)
2010-05-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人