`
widen
  • 浏览: 6819 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Build Scripts - To be shortsighted or foresighted?

阅读更多

I just discussed a topic about build scripts with my friend, he said they will have build scripts, but not in plan yet, it makes me think more on the build scripts. Typically, in a software project, build scripts are in charge of the following tasks automatically when we execute them:

  1. Check out the latest code from code repository.
  2. Build all source code and make sure there is no compile error.
  3. Generate a new build number and tag the repository with the new build number.
  4. Configure properties according to different environment.
  5. Create deployment packages for a specific environment.
  6. Deploy the packages to the target platform remotely.
  7. Report if it executes successfully or not.

The steps above are just a typical situation in J2EE projects, the build scripts may be changed and adjusted according to different types of project, as long as you can imagine, it can do it for you automatically, such as creating branch, finding bugs and so forth. CPU is really the guy serving you for free at any time.

I notice there many many software teams agree that the build scripts are very important, but they have no time to implement them because of the tight timeline, and then they forget it gradually. When someone mentions why they don’t provide build scripts, they will always explain that no time, no time, no enough time. Let me analyze and calculate the time, and help you save more time.

Suppose:

TIME_A = 3 * 60 = 180 (minutes) : The time of doing build and deploy manually, normal, maybe two or three hours each time, because you may encounter different environments and different problems.

TIME_B = 3 * 8 * 60 = 1440 (minutes) : The time of developing good build scripts, it may take two or three days.

Wow, now I understand the developers who don’t like to write build scripts, it really will take much time to do it, especially within a tight timeline. But please realize that the timeline of software development team should be always tight, because we are facing competitions every day, also the shareholders are waiting for revenue every day. We should be foresighted and then we can make right decision and save time and money for company. Let’s continue to calculate…

Continue to suppose:

TIME_C = 5 (minutes) : The time that the developer will take to execute build scripts, just execute a command basically, let’s assume the time would be 5 minutes. (The developer must be loafing on the job :D )

If the project is succeeded, it will go into the maintaining lifecycle, then many new patches, new releases will come out methodically, during the whole process, we may do the building and deploying task hundreds of times, or even thousands of times in some large-scale products, just assume the time would be 500 times. Let’s compare the total time between two situations – to write build scripts or not to write.

  • Write build scripts: TIME_B + TIME_C * 500 = 3940 (minutes)
  • Don’t write build scripts: TIME_A * 500 = 90000 (minutes)

This is only calculated by ideal time of manual building and deploying, I think there should be many problems each time when you build and deploy manually. Now it’s your time to decide to write build scripts or not to write, at the same time, you are choosing to be shortsighted or foresighted. What I want to say is that developing build scripts is a must, not option in any situations . As long as you care about the project, you must be interested in doing it right now.

1
0
分享到:
评论

相关推荐

    apollo-build-scripts-master.zip

    1. 下载与解压:首先,我们需要从官方仓库或者开源社区获取到"apollo-build-scripts-master.zip"压缩包,并将其解压。这个压缩包包含了Apollo的部署所需的所有脚本和可执行程序。 2. 数据库准备:Apollo依赖MySQL...

    lora训练模型-lora-scripts-main.zip

    标题中的“lora训练模型-lora-scripts-main.zip”指的是一个包含LoRA(Low-Rank Adaptation)训练模型的压缩文件。LoRA是一种针对预训练语言模型进行微调的技术,它通过引入低秩矩阵来适应特定任务,从而在不显著...

    network-scripts-10.00.15-1.el8.x86_64.rpm

    离线安装包,亲测可用

    前端开源库-react-scripts-ts

    "前端开源库-react-scripts-ts" 是一个专门为创建React应用程序而设计的开源工具,它整合了typescript的支持,使得在开发过程中可以享受到类型安全的好处。React是一个由Facebook开发并维护的JavaScript库,专门用于...

    前端开源库-scripts-hook

    "scripts-hook"是一个专为前端开发者设计的开源库,它专注于脚本钩子(script hooks),允许用户自定义和扩展命令行接口(CLI)的功能。 脚本钩子是编程中的一个概念,常用于在特定事件发生前或发生后执行某些代码...

    IDEA 激活码到期之后的现象

    JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。今日,疑似JetBrains严查盗版破解用户,导致大量以破解方式获取使用权限的用户,无法继续使用

    build-scripts:通用的工程内置工具

    build-scripts目前支持以下五种场景,每个场景在能力和体验上都努力做到极致: API类npm包开发 工程生态 项目 版 文件 描述 基于react的通用框架 Rax官方工程工具使用@ alib / build-scripts 执照

    html-scripts-to-array:将 html 脚本源转换为 JSON 数组

    #html-scripts-to-array 用于提取 HTML 脚本 src 链接到 JSON 文件的 JavaScript 实现。安装$ npm install html-scripts-to-array ##例子 var convert = require ( "html-scripts-to-array" ) ;var files = ...

    PyPI 官网下载 | scanpy_scripts-1.0.0-py3-none-any.whl

    pip install path/to/scanpy_scripts-1.0.0-py3-none-any.whl ``` 安装完成后,scanpy_scripts库中的功能就能在Python环境中使用,比如处理和可视化单细胞RNA测序数据。该库提供了一系列预定义的脚本,方便生物信息...

    jd-scripts-docker

    jd-scripts-docker docker启动。 安装依赖 混帐docker docker-compose 下载 git clone https://github.com/chinnkarahoi/jd-scripts-docker cd jd-scripts-docker 获取cookie 访问手机号登录获取Cookie中的pt_key,...

    npm-scripts-info:显示您的npm脚本的描述

    安装该模块通过npm安装: npm install npm-scripts-info --save用法使用scripts-info属性将描述( scripts-info )添加到package.json 。 然后,将npm-scripts-info添加到您的脚本中。 { " name " : " my-project " ...

    PyPI 官网下载 | openlmi-scripts-networking-0.3.0.tar.gz

    《PyPI官网下载:深入解析openlmi-scripts-networking-0.3.0.tar.gz》 在Python的世界中,PyPI(Python Package Index)是最重要的软件仓库,它为开发者提供了无数的开源库和模块,方便他们构建自己的应用程序。...

    lora训练ui界面工具应用SD-Scripts项目源码

    一个用于Kohya的SD-Scripts的一组Python训练脚本。SD-Scripts是一个用于训练模型的项目,它使用了一个基于pyside6的用户界面(UI),以便更流畅地进行模型训练的过程。 SD-Scripts项目该项目提供了一些用于训练模型的...

    PyPI 官网下载 | django-migration-scripts-0.1.1.tar.gz

    **PyPI 官网下载 | django-migration-scripts-0.1.1.tar.gz** 这个压缩包文件`django-migration-scripts-0.1.1.tar.gz`来源于Python的官方包仓库PyPI(Python Package Index),它是Python开发者分享和分发自己...

    PyPI 官网下载 | ep2_tech_scripts-0.4.6.tar.gz

    $ pip install path/to/ep2_tech_scripts-0.4.6.tar.gz ``` 安装完成后,我们就可以在Python环境中导入ep2_tech_scripts库,利用其提供的功能。 在实际使用中,了解ep2_tech_scripts的API文档和示例代码至关重要。...

    aseprite-scripts-master.rar

    而“aseprite-scripts-master”则是一个专门针对ASEprite的脚本资源库,提供了丰富的自定义功能,极大地扩展了ASEprite的使用范围。本文将深入探讨这个资源库中的关键知识点,帮助你更好地利用ASEprite进行2D动画...

    build-scripts:用于构建第三方库的实用程序脚本

    `build-scripts-master`这个文件名表明这是该项目的主分支或者源代码库,其中可能包含了所有相关的构建脚本和其他辅助文件。这些脚本可能包括Makefiles、批处理文件、Shell脚本或者特定于平台的构建文件,如...

    Laravel开发-scripts-dev

    Laravel开发-scripts-dev Laravel脚本dev,在开发环境中执行dev脚本。

    lftp-scripts-4.4.8-12.el7_8.1.noarch.rpm

    官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装

Global site tag (gtag.js) - Google Analytics