做什么样的软件系列之jenkins

大三自己写网站的时候时常会有这么一个问题,自己在pycharm上修改了一下前端代码,需要用scp拷贝到自己的服务器上,就觉得很麻烦,修改了网站的业务代码,也需要拷贝到服务器上,重启相关的服务。
当时就想如何解决这个问题。现在工作了发现公司里都是用jenkins。

jenkins是什么?

Jenkins是一个用Java编写的开源的持续集成工具,Jenkins提供了软件开发的持续集成服务。第一次接触到这个软件是公司里面的打包机,用来给安卓和iOS打包。打包流程混乱经常造成线上版本和代码库git或svn中代码不一致问题。使用jenkins能解决打包流程混乱的问题。

jenkins可以做什么?

自动化编译,iOS打包采用,Jenkins + Fastlane + Gogs,手动编译占用开发时间,而且操作失误会导致问题。
使用jenkins可以根据代码版本号自动化编译。

自动化测试,这年头什么东西最贵,人的成本最贵。自动化测试可以减少测试人员的数量和时间,提高测试准确性。

自动化执行步骤,打完包执行脚本自动提交到ftp。执行需要的触发任务,编译前,编译后。持续的软件版本发布/测试项目。

触发构建,可以通过各种手段触发构建。例如提交给版本控制系统时被触发,也可以通过类似Cron的机制调度,也可以在其他的构建已经完成时,还可以通过一个特定的URL进行请求。监控外部调用执行的工作。

用户管理,权限管理,这个公司人少的时候可能没感觉,人多的时候就会用到,不同的部门与不同的项目之间权限不同。部门间有竞争与协作关系的时候就用到。

可扩展,我们可以从网上获取各种插件。

排队,可以设置项目编译同时编译还是按先后队列进行执行。

为什么要使用jenkins?

发布的任何一个环节都是自动完成的,无需太多的人工干预,有利于减少重复过程以节省时间、费用和工作量。

为什么要讲jenkins?

我上面说的这些工作中大家很可能都会接触到,但是写这一篇的原因,绝对不是仅仅讲一个自动化编译软件。我认为jenkins这个软件的思想可以应用到我们生活中的各个领域才是我讲这一篇的道理。流程自动化是节约人力成本的一种好方法。例如我们要自动化一个工作,就是jenkins这样的流程,自动化一个过程,通过不同的外部方式触发。例如做菜,准备素材,洗菜,切菜,热锅,加菜过程,加佐料,完成,自动化这么一个做菜过程,通过订餐,客人进入等方式触发。自动化尝菜。jenkins是一个很好的模仿的例子。我们可以把相同的自动化功能扩展到生活的方方面面,这种启发是我写这篇文章的初衷。

    原文作者:于桓
    原文地址: https://www.jianshu.com/p/787a3fa0fdab
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞