本地构建和自动化构建

上周二,我作为持续讨论(#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

本地构建和自动化构建

本地构建和自动化构建_构建自动化面板相关推荐

  1. java 自动化编译_构建Jenkins自动化编译管理环境

    今天研究了一下Jenkins,有了一个粗浅的认识,顺手把构建的过程说一下,后续慢慢补充: (1)Secure CRT 连接到Linux服务器 要注意的一点是,要搞好一个文件传输的路子,否则不好传东西. ...

  2. java 构建是什么意思_构建的概念

    [Maven 简介] Maven 是 Apache 软件基金会组织维护的一款自动化构建工具,专注服务于 Java 平台的项目构建和依赖管理.Maven 这个单词的本意是:专家,内行. Make-> ...

  3. fusion构建器代码语法_构建器模式:适用于代码,适用于测试

    fusion构建器代码语法 我发现构建器设计模式偶尔在代码中有用,但在测试中经常有用. 本文简要概述了该模式,然后介绍了在测试中使用该模式的一个有效示例. 请参阅github中的代码. 生成器模式的背 ...

  4. etl构建数据仓库五步法_构建数据仓库五步法

    一.确定主题 即确定数据分析或前端展现的主题.(以汽车行业的KPI管理分析系统为例) 例如:我们希望分析某年某月某区域某门店销售情况,这就是一个主题. 主题要体现出某一方面的各分析角度(维度)和统计数 ...

  5. 微信小程序构建商城百度云_构建云存储应用程序

    存档日期:2019年5月13日 | 首次发布:2015年2月13日 了解如何创建一个简单的Node.js应用程序,该应用程序使用IBM Object Storage Service for Bluem ...

  6. python自动化上传图片_接口自动化之Python3_Requests之上传头像

    工作中经常会遇到比如上传文件的接口,那么遇到这些接口该如何处理呢? 今天我们来给大家举个例子: 比如我们要上传一张编测编学论坛用户头像的照片: 正常手工流程: 1.鼠标挪动到右上角用户头像,浮窗里点击 ...

  7. Jenkins+Jmeter+Gitlab+Ant接口自动化持续集成构建(环境搭建配置)

    第一步:环境搭建: 准备工作: Java及jdk配置.jmeter安装配置.Jenkins搭建完成.安装Ant 一.JDK配置 JDK配置请百度自行配置 二.Jmeter安装配置 1.把 apache ...

  8. 应用程序_构建应用程序12 条参考准则

    作者:NDOER(来源:掘金) 链接:https://juejin.im/post/5dfdd9aef265da33b50740ee 0.前奏曲 12 要素应用程序(12-factor-app)是 H ...

  9. cesium 加载bim模型_构建统一CIM数字底盘,实现基于BIM的全流程管控

    ▲点击关注,收获更多GIS精彩 2009年,SuperMap发布了首款二三维一体化GIS软件,首次提出了二三维一体化GIS技术.随后,二三维一体化的应用系统不断涌现,二三维一体化技术逐步成为三维GIS ...

  10. 用gradle启动java项目_构建Java项目

    #构建Java项目# 上一节我们简要介绍了如何编写一个单机的To Do应用,接下来要打包部署成可执行的应用,我们需要编译源代码,生成的class文件需要打包到JAR文件中.JDK提供了javac 和j ...

最新文章

  1. jpa单向多对一关联映射
  2. xamarin 学习笔记02- IOS Simulator for windows 安装
  3. [原创]关于打开新窗口和关闭老窗口的2个方法!
  4. JDBC的开发流程是什么?
  5. 分享程序员提升自身能力的7个实用网站
  6. python下载安装搭建
  7. app android de,Android Deobfuscation
  8. unixODBC的使用
  9. 灵感分享| 实例UI组件的设计风格
  10. Kotlin Android Studio 环境搭建
  11. 立志做个有激情的coder
  12. ubantu删除文件(夹)
  13. 3.46 OrCAD软件怎么输出物料清单BOM表格?
  14. 浏览器的同源策略,以及为什么浏览器要用同源策略。
  15. redis实现的分布式锁为啥要设置过期时间?
  16. 免费内网穿透端口映射工具-网络通
  17. Oracle Databasae wallet使用指南
  18. 全面介绍144芯超高密度光纤配线箱!
  19. 利用JavaScript制作倒计时牌(转)
  20. 设置 Ubuntu 联通宽带上网

热门文章

  1. P2698-花盆Flowerpot【单调队列】
  2. 数学知识总结——矩阵
  3. 使用Docker 实现微服务并搭建博客,一文全掌握
  4. 如何快速搭建一个免费的,无限流量的Blog
  5. 分享10道常考Java面试题及答案
  6. Redis进阶之内存模型
  7. Java:comp/env/讲解与JNDI
  8. Spring IoC 容器
  9. 面象对象设计6大原则之六:迪米特原则
  10. 家的味道,家的感觉!!!