想实现CI/CD自动化,Oracle Wercker助您一臂之力

Posted 甲骨文开发者社区

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了想实现CI/CD自动化,Oracle Wercker助您一臂之力相关的知识,希望对你有一定的参考价值。

Wercker前世今生

Wercker是甲骨文2017年在云计算领域的又一笔重要收购,早前是一家提供基于容器 CI / CD 自动化工具的企业,其开源的命令行工具吸引了大量的开发者参与其中。


Automation!Automation!Automation作为一个高效的 CI / CD 平台,自动化能力是重要的一个衡量指标。Grady Booch 1991年的 Booch Method 中首次命名并提出了持续集成 CI 的概念以来,逐渐被业界接受,衍生为一整套软件开发的标准和流程。从持续集成概念的提出到持续交付到持续部署,经过一系列的演进过程:


持续集成(Continuous Integration)


持续集成的目的,就是让产品可以快速迭代,同时还能保持高质量。Martin Fowler说过,"持续集成并不能消除Bug,而是让它们非常容易发现和改正。"它的核心措施是,代码集成到主干之前,必须通过自动化测试。只要有一个测试用例失败,就不能集成。

想实现CI/CD自动化,Oracle Wercker助您一臂之力

持续交付(Continuous Delivery)


持续交付指的是,频繁地将软件的新版本,交付给质量团队或者用户,以供评审。如果评审通过,代码就进入生产阶段。持续交付可以看作持续集成的下一步。它强调的是,不管怎么更新,软件是随时随地可以交付的。

想实现CI/CD自动化,Oracle Wercker助您一臂之力

持续部署(Continuous Deployment)


持续部署是持续交付的下一步,指的是代码通过评审以后,自动部署到生产环境。持续部署的目标是,代码在任何时刻都是可部署的,可以进入生产阶段。持续部署的前提是能自动化完成测试、构建、部署等步骤。

想实现CI/CD自动化,Oracle Wercker助您一臂之力

可以看到Automation对CI/CD过程的重要性,完全的自动化,是高效的CI/CD过程至关重要的衡量标准。


Docker带来的挑战

Docker自2013年开源以来,因为其易用性、高可移植性在开源社区非常火热。Docker将软件与其依赖环境打包起来,以镜像方式交付,让软件运行在“标准环境”中,容器的兴起大大简化了自动化的持续交付流程,带来了无限的可能。Docker的引入,相比传统的CI/CD流程,也额外增加了工作,如镜像封装、环境的治理,相应的服务交付支撑系统,对复杂容器编排系统的支持,在不同云厂商之间随意迁移工作负载….这些问题都有待解决。


遇见Wercker后


想实现CI/CD自动化,Oracle Wercker助您一臂之力


Wercker的出现,将CI/CD的容器化提到了一个新的层面,让开发者、企业管理人员在容器化的环境中完成CI/CD流程的完全自动化。Wercker是基于Docker的自动化平台,开发者通过利用Wercker提供的平台和工具,自动生成应用并部署到各种云平台,其支持的平台包括GCE、AWS、Azure、甲骨文公有云或者Kubernetes 集群等环境。


Wercker通过将发布流水线和目标云供应商解耦开,来流水线化部署流程,这样可以降低从一个平台迁移到另一个平台或者在多云上部署相同应用程序的复杂程度,无论你是想要发布到多云上或者想要避免供应商锁定,Wercker都能帮助你部署应用程序,达到CI/CD自动化程度的最优化。Wercker的开箱即用的工具箱中另一大特点就是它会在CI/CD过程中添加社交网络元素,提供Slack/Hipchat的集成方式,这样开发团队成员就能够即时知道CI/CD过程的状态。

想实现CI/CD自动化,Oracle Wercker助您一臂之力

自动化基于容器的持续集成(CI)持续交付或者说持续部署(CD),预示着一种新的模式:代码提交后,就像按下了播放键,从构建可执行程序,完成自动化测试,到配置部署,再到保持高可用性的运维工作,所有你想要的工作都将按照配置好的流程自动执行,我们似乎可以看到一个高度自动化且标准化的时代。我们可以看到一个美好的未来,就是将工程师和运维从重复僵化的工作中解脱出来,真正投入创新的工作中去,作为一个开发者,你所有的向往,用Wercker自动化云中的一切。


 后记 

本文旨在让大家对Wercker有个大致的了解,后面我还会再写一篇实战篇,完整介绍Wercker的基本概念,以及与Oracle产品整合的文章,敬请期待。


作者简介

向志华,Oracle中间件/PaaS高级售前顾问,专注 Application PaaS 产品及服务,同时关注Docker容器产品及Kubernetes容器调度产品方向。13年IT行业从业经验,擅长J2EE产品架构及开发,参与过Openstack相关产品研发工作。您可以通过george.xiang@oracle.com,与他联系。



了解更多,敬请关注甲骨文开发者社区......

更多精彩,请大家关注以下二维码抢先注册!



以上是关于想实现CI/CD自动化,Oracle Wercker助您一臂之力的主要内容,如果未能解决你的问题,请参考以下文章

.NET实现CI/CD运行镜像,自动化部署

还在用Jenkins?试试Gitlab的CI/CD功能吧

还在用Jenkins?试试Gitlab的CI/CD功能吧

为了实现CI/CD,先来定制一个Docker镜像实战精华篇

为了实现CI/CD,先来定制一个Docker镜像实战精华篇

为了实现CI/CD,先来定制一个Docker镜像实战精华篇