本地构建和自动化构建_构建自动化面板

本地构建和自动化构建

上周二,我作为持续讨论(#c9d9)的一部分,参加了一个关于Build Automation主题的在线讨论会,这是一系列有关敏捷,持续交付和DevOps的社区讨论会。 自动化构建流程面临许多挑战,包括第三方依赖关系,构建版本管理,尤其是文化,小组成员讨论了解决这些挑战的现实经验。

持续讨论是Electric Cloud的一项社区计划,该计划通过自动化其构建,测试和部署流程来推动SpaceX,Cisco,GE和E * TRADE等企业的持续交付。

以下是我对面板所做的贡献。

构建瓶颈对您的管道意味着什么?

以我的经验,瓶颈通常与软件架构有关,而与工具和团队无关。 我认为大多数人还没有准备好以可以快速,轻松地构建,测试和部署软件的方式来设计软件。

我们需要开始将事情分解成非常小的部分。 这是消除瓶颈的最简单方法。 大是坏,小是好。 如果我们想要快速交付而没有停机时间,并且能够在出现问题时回滚,并且如果我们想经常这样做,那么我们就需要以一种可以立即交付更改内容而不是整个系统的方式来设计软件。 Docker的微服务和容器打开了新的大门,直到最近我们才对我们大多数人关闭。

长期以来,我们试图围绕整体架构构建管道,现在是时候以支持持续交付的方式开始构建架构。

有哪些常见问题?

问题是有团队,但没有个人责任。 Docker和微服务改变了世界,这使我有可能对我所做的一切负全部责任,而不是将其传递给运营商,测试人员和其他团队。 当将其传递给其他团队时,DevOps的工作只是确保构建了存储库并且该构建已投入生产。 DevOps不会决定要构建什么或如何构建。 他们只是将一切推向生产。 这很困难,因为出了问题,人们就不再承担责任。 为了解决此问题,我们需要将软件分解为小单元。

许多组织正在转向微服务。 当一切都变小时,可以每天进行部署。 只要您的架构不会阻止它,并且只要您的团队有能力完成这项工作即可。 如果您需要依靠他人来完成工作,那么就会遇到瓶颈。

我们需要力量掌握在开发人员手中。 该组织的所有其他成员应支持发展。 一旦我们改变了这种文化,事情就会变得更加顺利,运行得更快。

您如何看待流程的一致性和标准化?

如果标准化不是最大的创新杀手,那将是很棒的。 标准化后,您将陷入困境多年。

对于尝试新方法的人们来说,我认为没有任何问题,特别是如果您将应用程序分解成小块的话。 您只需很少的代码就可以在系统的一小部分进行尝试。 学习起来并不难。 在我曾任职的任何组织中,标准化程度越高,变更和创新的引入就越少。 以我的经验,标准化与创新成反比。

一些标准化很重要,尤其是关于如何从外部接收通信时。 但是在团队中,假设团队规模合理,没有人比团队本身更适合决定团队的工作方式。

无论我们在做什么,我们都必须在有关组件之间通信的合同上非常严格。 但是我开发的组件内部发生的一切都是我的问题,只要没有外界的干扰太多,我就可以以最好的方式解决它。”

翻译自: https://www.javacodegeeks.com/2015/05/build-automation-panel.html

本地构建和自动化构建

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

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

相关文章

C语言为什么要定义short,int,long这么多整数类型?

点击上方蓝字关注我,了解更多咨询整数类型有int、short int、long int三种类型,用于需要不同存储空间的整数使用。整数类型有正整数和负整数之分,在C语言中,规定整型的最高位为符号位,最高位为“0”表示正数&#xff0…

java中逗号怎么加_Java中如何将字符串从右至左每三位加一逗号

/*** * 将字符串从右至左每三位加一逗号* ** param str 需要加逗号的字符串* return 以从右至左每隔3位加一逗号显示*/public static String displayWithComma(String str){str new StringBuffer(str).reverse().toString(); // 先将字符串颠倒顺序String str2 "";…

小度拆卸_拆卸invokedynamic

小度拆卸许多Java开发人员认为JDK的第七版有些令人失望。 从表面上看,仅少数语言和库扩展使它成为了发行版,即Project Coin和NIO2 。 但在幕后,该平台的第七个版本对JVM类型系统进行了最大的扩展,这是其最初发行后引入的。 添加in…

c语言中函数参数类型的探究

点击上方蓝字关注我,了解更多咨询函数中的参数个数可以是0,也可以是一个或多个参数。下面我们带着这三种不同的情况,分别在c语言中进行讨论。1、函数没有参数,表示没有参数列表。int func1(); //声明一个函数,该函数…

java rotate怎么用_jQuery旋转插件jqueryrotate用法详解

本文实例讲述了jQuery旋转插件jqueryrotate用法。分享给大家供大家参考,具体如下:CSS3 提供了多种变形效果,比如矩阵变形、位移、缩放、旋转和倾斜等等,让页面更加生动活泼有趣,不再一动不动。然后 IE10 以下版本的浏览…

c语言野指针产生的原因

点击上方蓝字关注我,了解更多咨询1、指针变量未初始化,任何指针变量刚被创建时不会自动成为 NULL 指针,它的缺省值是随机的。所以,指针变量在创建的同时应当被初始化,要么将指针设置为 NULL ,要么让它指向合…

java rhino_在Java 8中使用Rhino

java rhinoJava将Nashorn作为JSR 223的新JavaScript实现(javax.scripting)。 尽管这无疑是个好消息(通过直接生成Java代码,Nashorn比Rhino快得多),但它也带来了一些挑战: Nashorn与Rhino并非10…

docx 图片预处理 Java_如何在java中将docx文件头图像复制到另一个docx文件中

尝试(未经测试的):void attachHeader(HeaderPart sourcePart, WordprocessingMLPackage targetPkg) throws Docx4JException {HeaderPart newHeaderPart new HeaderPart();newHeaderPart.setContents(XmlUtils.deepCopy(sourcePart.getContents()));if (sourcePart.getRelatio…

c语言中assert函数的使用注意

点击上方蓝字关注我,了解更多咨询1、使用assert检查函数开始时传入参数的合法性。2、每个assert只检验一个条件,因为在同时检验多个条件时,如果断言失败,就无法直观地判断哪个条件失败。实例int resetBufferSize(int nNewSize) {/…

es 调整gc_实际中进行GC调整

es 调整gc调优垃圾回收与任何其他性能调优活动没有什么不同。 您需要确保您了解当前的情况和所需的结果,而不是因为对应用程序的随机部分进行调整而产生了诱惑。 通常,只需执行以下过程即可: 陈述您的绩效目标 运行测试 测量 与目标比较…

game connect4 java_为我的connect 4数学游戏创建一个积分系统

我试着在每次用户得到正确答案时加一分,如果在我的“连接4”数学游戏中答错了,我就拿走一分。在游戏中,用户把一个计数器放在想要的地方,问题就会弹出,等待答案,以便继续。这段代码中的所有内容都能正常工作…

内核中断处理流程_处理中断

内核中断处理流程我只是在观看Heinz Kabutz的VJUG采访 ,这启发了我写一篇有关中断的文章。 顺便说一句,我建议您订阅VJUG YouTube频道 -确实非常有用。 Heinz始终是物有所值的,很难不学习很多东西就很难观看他的演讲。 他提出了如何处理Inte…

c语言中assert函数是什么

点击上方蓝字关注我,了解更多咨询1、assert将通过检查表达式expresion的值来决定是否需要终止执行程序。2、如果表达式expresion的值是假的(即0),它将首先向标准错误流stderr打印错误信息。通过调用abort函数终止程序运行。否则,assert没有效…

java怎么清空一个文件内容_如何从文本文件中删除特定内容? - java

我正在Java的SO的帮助下从事此项目的工作,正在读取一个文件夹,然后将其内容写入文件。然后,我需要浏览该内容,仅保留末尾带有Thumbnail.jpg的图像。编辑:public static final File outFile new File(System.getProper…

sci检索没有馆藏号_转变馆藏

sci检索没有馆藏号您是否曾经想替换过HashSet或HashMap使用的equals和hashCode方法? 或者有一个List的一些元素类型伪装成的List相关类型的? 转换集合使这成为可能,并且本文将展示如何实现。 总览 转换集合是LibFX 0.3.0的一项功能&#xf…

c语言中exit和return的区别

点击上方蓝字关注我,了解更多咨询1、返回函数值的return是关键字,exit是一个函数。return是语言级的,它表示调用堆栈的返回;exit是系统调用级的,它表示一个过程的结束。2、return是函数的退出,exit是进程的…

java怎样返回json_java怎么返回json

详细内容本篇文章将介绍如何编写Java程序来返回Json数据,本次以三个方式进行介绍。推荐课程:Java教程,方式1:当然是手敲所有代码,来进行json数据的返回。需要 HttpHttpServletRequest request HttpServletResponse res…

junit测试类叫什么名字_使用Junit测试名称

junit测试类叫什么名字命名测试 当我们创建Junit测试时,通常没有方法名称的实际使用。 Junit运行器使用反射来发现测试方法,并且从版本4开始,您不再被限制以test开始方法的名称。 测试方法的名称用于文档目的。 人们遵循不同的风格。 您可以…

c语言中realloc函数是什么

点击上方蓝字关注我,了解更多咨询1、判断当前指针是否有足够的连续空间。如果足够,扩大ptr指向的地址并返回。如果不够,如何根据size指定的大小分配空间,将原始数据复制到新分配的内存中,然后释放原始ptr指向的区域。2…

java 暂停循环_java小白关于while死循环时处理办法的一发求助帖

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼package greedsnake;import java.awt.Color;import java.awt.Font;import java.awt.Frame;import java.awt.Graphics;import java.awt.Image;import java.awt.event.KeyAdapter;import java.awt.event.KeyEvent;import java.awt.ev…