适合开发的构建fabric8-maven-plugin 在项目过程中越来越多的出现在开发阶段就需要把部分微服务直接做容器化发布,然后自己的代码还需要和这些发布后的微服务进行调用的开发过程,这个阶段基本的需求是需要把代码快速的容器化并发布,这种情况下就比较适合fabric8-maven-plugin插件,只需要修改pom文件,然后通过mvn fabric8:deploy就可直接部署到openshift平台上,简单高效. fabric8-maven-plugin提供了直接从mvn打包直接生成配置然后…
参考并感谢https://www.jianshu.com/p/fd3e62263046 在对接项目制作应用镜像的过程中,经常发现避免不了的是需要写Dockerfile,(当然另外一种方式是直接run一个基础镜像,改完commit,这个就完全不建议了),这需要对Dockerfile以及镜像有一定的了解,但在项目中发现学习Dockerfile还是有学习成本的,虽然Dockerfile已经足够简单,但仍然还是有不少图形化的需求.Dockerfile的图像化一方面不好设计,另外看市面上也没有类似产品,而…
Openshift对于应用构建提供了三种模式 从应用的源代码构建并部署,Openshift通过一个S2I的构建过程编译打包并实现发布,具体可以参考 https://www.cnblogs.com/ericnie/p/9677719.html 从应用的二进制构建和部署,用户可以指定通过其他工具完成的二进制包,比如war,jar之类,然后openshift将这些文件和基础镜像一起打包发布. 在Openshift之外构建源码和镜像 S2I虽然非常方便,个人认为他的定位是 适用场景是一些没有通过外部的C…
Jenkins方式构建的定位是使用专门的CICD平台. 既支持把JenKins作为一个Pod部署到openshift内部,也支持部署在Openshift集群外部,操作上的区别是 openshift自己内部带的jenkins images包含了openshift的plugin Jenkins放在openshift外,需要手工安装plugin了.具体的安装过程可以参考 https://blog.openshift.com/using-openshift-pipeline-plugin-externa…
Java世界中主要有三大构建工具:Ant.Maven和Gradle.经过几年的发展,Ant几乎销声匿迹.Maven也日薄西山,而Gradle的发展则如日中天. Maven的主要功能主要分为5点,分别是依赖管理系统.多模块构建.一致的项目结构.一致的构建模型和插件机制.我们可以从这五个方面来分析一下Gradle比起Maven的先进之处. 依赖管理系统 Maven为Java世界引入了一个新的依赖管理系统.在Java世界中,可以用groupId.artifactId.version组成的Coordin…
简介 Spring Boot Maven Plugin插件提供spring boot在maven中的支持.允许你打包可运行的jar包或war包. 插件提供了几个maven目标和Spring Boot 应用一起工作.总的有: spring-boot:repackage  请阅读:Spring Boot Maven Plugin(一):repackage目标 spring-boot:run  请阅读 Spring Boot Maven Plugin(二):run目标 spring-boot:star…
[背景]spring-boot项目,打包成可执行jar,项目内有两个带有main方法的类并且都使用了@SpringBootApplication注解(或者另一种情形:你有两个main方法并且所在类都没有使用@SpringBootApplication注解),pom.xml如下 <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin<…
Spring Boot的Maven插件(Spring Boot Maven plugin)能够以Maven的方式为应用提供Spring Boot的支持,即为Spring Boot应用提供了执行Maven操作的可能. Spring Boot Maven plugin能够将Spring Boot应用打包为可执行的jar或war文件,然后以通常的方式运行Spring Boot应用. Spring Boot Maven plugin的最新版本为2017.6.8发布的1.5.4.RELEASE,要求Jav…
近期在appfuse看到使用webtest-maven-plugin实现Web应用的集成測试,研究了下.感觉很不错.对于Web应用自己主动构建很有帮助,在性能測试之前能够保证Web应用的基本功能工作正常,分享给大家. WetTest工作原理 它是基于Ant来执行的Web页面的測试工具. 通过执行不同的target,測试页面上面提供的全部功能.它的工作原理是运用比較出名的HtmlUnit来实现对一个页面功能的測试. 它的工作流程就是模拟一个浏览器的事件(页面提供的功能:能够调用一个Url,能够点击…
写在前面 确保容器中服务与应用安全是容器化演进的关键点.容器安全涉及到应用开发与维护的整个生命周期,本文主要从镜像构建的视角来看docker容器的一些安全问题及应对措施. 一.权限管理 1.避免以容器以root身份运行 在Openshift与k8s环境中默认容器需要以非root身份运行,使用root身份运行的情况很少,所以不要忘记在dockerfile中包含USER指令,以将启动容器时默认有效 的UID 更改为非 root 用户. 以非 root 身份运行需要在 Dockerfile 中做的两个…