使用Docker容器和Java EE进行持续交付

组织需要一种使应用程序交付快速,可预测和安全的方法,而诸如docker之类的容器所提供的敏捷性则可以帮助开发人员实现这一目标。 对于Java EE应用程序,这可以在容器中打包应用程序,应用程序服务器和其他依赖项,这些容器可以在构建,测试和生产环境中复制。 这使您更接近实现连续交付。 至少这是托马斯网络研讨会上的摘要,我几天前一直在发表 。 这是一篇支持博客的文章,其中包含有关设置的更多详细信息,包括所有指向源代码和演示的链接。 在下面嵌入的开发人员访谈中找到更详细的技术演练。 非常感谢我
合著者Thomas帮助我撰写了这篇博文。

我们涵盖了什么?

cd_with_docker_javaee
首先,我们要谈一些为什么如今每个人都热衷于优化应用程序交付。 越来越复杂的应用程序给基础架构,团队和流程带来了更大的压力。 容器承诺通过将应用程序及其运行时组件保持在一起来提供解决方案。

但是,我们不要止步于此,再往前看,这似乎是操作的理想选择。 它越来越多地泄漏到开发人员空间中。 作为开发人员,只需专注于我们最擅长的工作即可轻松忽略最新的炒作:提供功能正常的应用程序。 但说实话,还有更多。 特别是Java EE不仅需要代码。 因此,容器有望使我们的生活更轻松。

仅仅谈论容器还不是全部。 它们必须是可用的,并且必须在生产环境中供开发人员最终使用。 在这里,我们将简要介绍一下OpenShift v3即将发布的内容以及它如何适应更大的前景。

在简短介绍之后,Thomas将带您详细了解所有细节,从Docker容器开始,以及它们如何实现完整的持续交付链,该链完全支持DevOps。

为什么现在呢?

最重要的是,诸如微服务之类的新架构方法使我们脱离了运行单片应用程序的大型VM和物理服务器。 单独引导的服务很自然地适合基于容器的部署,因为运行它们所需的一切都已完全封装。 此外,对优化运营的追求正将越来越多的基础架构带入云模型。 我们将把容器作为一种服务来提供,与VM相比,容器将更快地部署,运行更便宜并且更易于管理。 企业将使用容器作为目标来运行专注于企业级操作的PaaS产品。 以容器包装而不是虚拟机的形式分发软件要更加完善,并且容器也更加标准化。 更容易适应不同的供应商和供应商。 无论产品使用哪种语言或运行时。 企业不必再专注于单个平台来实现优化的运营和成本。 容器基础架构通过保持标准化的操作模型并具有未来的优化和附加功能(例如围绕安全性)的潜力,可以提供更多样化的技术基础。容器及其管理系统是开发人员和操作人员之间的粘合剂,并且是支持的技术层DevOps运动。 简而言之:容器已准备就绪。

作为一名Java EE开发人员,我从中获得什么?

容器是关于容器内部而不是容器外部的内容。 将此与PaaS产品进行比较很容易。 开发人员不想关心配置或托管。 他们只想为其应用程序提供可靠的运行时。 除了Containers,您所需的东西并不多。 标准格式,标准图像,甚至可以选择使用公司范围内的集线器,这将使开发团队更加高效。 这也与我们如何设置本地环境并将其推广到我们的团队有关。 配置不同的实例可以在几秒钟内旋转和拆除。 无需维护中间件或数据库的不同版本,也无需弄乱路径或配置。 预先配置的容器将大大减少团队的设置时间,并允许更轻松地使用不同的配置进行测试。 图像可以集中开发,配置和维护。 根据公司标准,包括特定的框架或集成库。 责任和教育是激励的关键部分。 今天的全栈开发人员希望对自己的艺术作品负责–端到端。 日复一日使用相同的la脚API进行编程不再是一项繁琐的工作。 实际上,容器允许从构建到打包以及将您的应用程序通过不同的环境交付生产的完整往返过程。 而且由于所有内容都可以进行版本控制和集中维护,并且在任何环境中都依赖于相同的操作系统和配置,因此使用Containers可以更完整地预测完整的软件交付链。

OpenShift如何适合所有这些?

市场向容器转变的完美例子是OpenShift。 它有不同的版本:

  • OpenShift Origin是Red Hat云产品的开源项目
  • OpenShift Online是Red Hat的公共云应用程序开发和托管平台,可自动配置,管理和扩展应用程序,以便您专注于为业务,启动或下一个大创意编写代码。 在openshift.com上注册以尝试一下自己
  • OpenShift Enterprise是一种内部部署的私有平台即服务(PaaS)解决方案,可让您更快地交付应用程序并满足企业不断增长的应用程序需求。

社区幻灯片

根据您的需求,您可以自由选择最适合您需求的解决方案。 从使用Origin来构建自己的PaaS到自己运行完全受支持的本地PaaS。

而且,我们将在下一版本的OpenShift上大放异彩! Origin的每个里程碑都伴随着OpenShift的新版本。 现在,OpenShift 3的Origin源代码存储库已可用。 它正在朝着完全重新设计的全新架构的方向发展。 这种新架构集成了Docker和Kubernetes容器编排和管理系统,可在针对运行容器化应用程序而优化的Atomic主机上使用。 最重要的是,OpenShift将整合有效且高效的DevOps工作流,这些工作流在平台即服务中为加速应用交付发挥了关键作用。

OpenShift v3的外观如何?

OpenShift在Kubernetes的基础上增加了以开发人员和操作为中心的工具,以实现快速的应用程序开发,轻松的部署和扩展以及对大小团队和应用程序的长期生命周期维护。

从一切开始,红帽一直与Docker社区合作,以发展我们现有的容器技术,并通过libcontainer项目推动容器化的新标准。 这项工作导致宣布RHEL 7中对Docker的支持,并启动Project Atomic以开发新的容器优化的Linux主机。 这种新的容器架构是OpenShift v3的核心。

OpenShift v3弹药筒格式将采用Docker打包模型,并使用户能够利用打包为Docker映像打包的任何应用程序组件。 这将使开发人员能够利用Docker Hub社区来访问和共享要在OpenShift中使用的容器映像

在OpenShift v3中,我们将Kubernetes集成到OpenShift Broker中以驱动容器编排。

OpenShift v3将带来新的功能,以供应,修补和管理应用程序容器,路由和网络增强功能以​​及供应和管理OpenShift平台本身。 目标是为OpenShift开发人员提供最佳的用户体验。

  • 为即将发布的版本感到兴奋!

完整的演示

网络广播重播已经完成,现在是时候接触源代码并获取#coffee +++,然后坐下来放松演示,而不是10分钟即可完成。 托马斯(Thomas)将介绍所有细节,我很高兴在这两者之间提出一些令人讨厌的问题。

别忘了,您随时可以重新观看原始的网络研讨会 。

这是prezi演示的体系结构概述,Thomas在网络广播中展示了该概述。

链接和进一步阅读

一些思考和家庭作业的食物。 网络研讨会中的链接集合以及其他一些资源可供您深入研究。

  • “ 使用docker容器和Java EE进行持续交付 ”(网络研讨会重播,28日或4月)
  • TicketMonster –一个JBoss示例 (演示中使用的示例Java EE应用程序)
  • 该示例的完整源代码
  • 编写您的Docker容器
  • 托马斯的博客
  • Arun Gupta关于Docker的博客
  • OpenShift v3的功能
  • 原子项目

翻译自: https://www.javacodegeeks.com/2015/05/continuous-delivery-with-docker-containers-and-java-ee.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/359078.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MVC小例子

【约定胜于配置】 1. 右键Mode数据层添加新建项,用linq连接数据库 (不要在控制层上直接操控linq,要在数据层新建一个类,来对数据库进行操作) 2. 右键Mode数据层添加类,来完成对数据库的操作.类的名字叫Carda 3. 在Carda类中写对数…

flutter ios打包_Flutter通过BasicMessageChannel与Android iOS 的双向通信

更多文章请查看 flutter从入门 到精通本文章中的完整代码在这里题记:不到最后时刻,千万别轻言放弃,无论结局成功与否,只要你拼博过,尽力过,一切问心无愧。通过 Flutter 来进行移动应用开发,打包…

程序员养家活口接私活必备网站(顺便用技术改变世界)

程序员接私活的原因很多种(挣钱、养家糊口、提升技术等等)。下面整理了一下网站送给最有潜能的你。 提前准备好自己的笔记本和技术呦。 1.码客帮:https://www.make8.com/ 码客帮是一个基于众包的互联网软件技术服务平台,建立项目需求方与技术大牛的连接。帮助需求方快速找到靠…

作为服务器上的操作系统,作为服务器的操作系统

作为服务器的操作系统 内容精选换一换本节介绍如何使用华为云镜像,通过切换镜像部署Windows环境。当您已经购买了弹性云服务器,但想切换成其它类型操作系统,或者想使用镜像重新部署已经预装了其它软件的环境,可以参考本文档的介绍…

怎么判断前轮左右的位置_新手开车技巧,确定前轮位置,准确判断与障碍物距离...

今天我们就来学习下,开车时怎样判断前车轮的位置,还有就是怎样判断前车轮与障碍物的距离。我们先进行右轮的判断,首先认识下雨刷器接点位置,雨刷器接点位置,有一定的宽度。当左侧雨刷器的接点,完全和白色实…

安卓的系统设置 位置服务器,修改安卓定位服务器地址

修改安卓定位服务器地址 内容精选换一换状态代码由三位数字组成,第一个数字定义了响应的类别,有五种可能取值:1xx:指示信息,表示请求已接收,继续处理。2xx:成功,表示请求已被成功接收…

[翻译] ABCIntroView

ABCIntroView ABCIntroView is an easy to use onboarding which allows you to introduce your users to the applicaiton before reaching the Main Screen. ABCIntroView是一个简单易用的引导页。 To use the ABCIntroView please do the following: 你需要遵循以下几步来使…

怎样呵护友谊_【家校联动共同呵护孩子健康成长科普课堂】关爱学生心理健康,守护学生健康成长...

健/康/从/心/开/始小学时期是人的行为、性格和智力迅速发展的关键时期。在这一阶段,由于身心变化比较快,加之文化知识及社会经验的不足,小学生很容易产生不健康的心理,导致心理问题或心理疾病。排除小学生认识、情感、意志等方面的…

中交叉的线_表现力一绝!用交叉线构图拍出来的照片,竟然可以这么吸睛!

不废话,今天为大家介绍一种构图方式:交叉线构图,用这种构图方式拍照,让你的照片表现力一绝!1、什么是交叉线构图交叉线构图指的是,在画面中使用交叉线条进行布局的摄影构图方法。看图——↑红色的木桥形成四…

centos7创建asm磁盘_ASM环境下防止误将数据文件扩容到本地文件系统的方法

前言时常会接到客户或一线工程师反馈oracle数据库报“ora-01110”等错误,本人过往也处理过好几次类似的故障,发现基本上是由于开发人员或初级维护人员在执行数据库表空间扩容时,不小心将本身需要扩容到ASM磁盘组的数据文件扩容到了本地节点上…

单片机备用电池供电电路_第五节(重排) 电子入门 复位电路

时间有限,无法一一修改底部目录,请以此目录为准:向导:总目录:最好的电子、计算机从入门到工程师教程​zhuanlan.zhihu.com很多看完第三节 电子入门后,感觉难度陡然升高,适应不了,有情…

jQuery插件开发全解析

http://www.iteye.com/topic/545971 jQuery插件的开发包括两种:一种是类级别的插件开发,即给jQuery添加新的全局函数,相当于给jQuery类本身添加方法。jQuery的全局函数就是属于jQuery命名空间的函数,另一种是对象级别的插件开发&a…

jsf 传参数_在JSF 2中对定制验证器进行参数化

jsf 传参数在JSF 2中编写自定义验证器并不是一项复杂的任务。 您实现Validator接口,添加FacesValidator批注,并在faces-config.xml中插入validator声明, 仅此而已 。 一块蛋糕。 但是,让我们考虑以下情形: 您需要自定义…

java应该怎么学习?

很多人刚接触java,比较迷茫,下面我简单梳理一下后端的框架,希望你们能对java有个清晰的认识。 java是一种纯面向对象的编程语言,也是三大编程语言之一。java是由sun公司于1995年开发,它被称为“一次编译,处处可用”。 Struts在项目中的作用 Struts 在项目主要起控制作用…

docker安装clickhouse_clickhouse ----入门

clickhouse作为现在流行的数据分析数据库,非常热门。我也眼馋了好久,想先本地单机安装下,网上搜索了好多。也遇到了好多问题。我这边讲述下自己安装的过程。我这边的电脑是mac.第一步是安装docker.执行命令 brew cask install docker。等dock…

怎么修改_论文查重之后怎么修改?

使用知网论文查重以后,发现论文重复率很高,该怎么办?论文查重后怎么改?今天paperfree小编给大家介绍一下。方法一:重写如果论文存在很高的重复率,都是抄袭别人的论文,我们就可以考虑重写。在重写…

基于谷歌模型gemini-pro 的开发的QT 对话项目

支持的功能,新建对话框,目前发现相关梯子不支持访问谷歌的api 的可能代理设置的不对, QNetworkAccessManager manager;// Set up your requestQNetworkRequest request;request.setUrl(QUrl("https://generativelanguage.googleapis.com…

Lucene.net站内搜索—5、搜索引擎第一版实现

目录 Lucene.net站内搜索—1、SEO优化 Lucene.net站内搜索—2、Lucene.Net简介和分词 Lucene.net站内搜索—3、最简单搜索引擎代码Lucene.net站内搜索—4、搜索引擎第一版技术储备(简单介绍Log4Net、生产者消费者模式)Lucene.net站内搜索—5、搜索引擎第…

All your files have been encrypted

小弟的姑姑家的老板收银的电脑被黑客黑了,我来解决一下,小孩玩游戏玩电脑中的病毒, 方法很多种,仅供参考。 问题邮件截图: 参考方式: 方法一:给对方钱,一般比较贵,还不如重装系统。哈哈。 方法二:下载解密工具,尝试解密恢复数据, Ransomware File Decrypto Too…

8s yaml 配置生成_接口测试框架实战(六) | 配置的数据驱动

《Python 测试开发实战进阶》课程,4 个月挑战 BAT 大厂年薪 50W Offer,文末加群!在实际工作中,为了便于维护,对于环境的切换和配置,通常不会使用硬编码的形式完成。在之前文章《多环境下的接口测试》中&…