热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

做什么样的软件系列之jenkins

大三自己写网站的时候时常会有这么一个问题,自己在pycharm上修改了一下前端代码,需要用scp拷贝到自己的服务器上,就觉得很麻烦,修改了网站的业务代码,也需要拷贝到服务器上,重启

大三自己写网站的时候时常会有这么一个问题,自己在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是一个很好的模仿的例子。我们可以把相同的自动化功能扩展到生活的方方面面,这种启发是我写这篇文章的初衷。


推荐阅读
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • Final关键字的含义及用法详解
    本文详细介绍了Java中final关键字的含义和用法。final关键字可以修饰非抽象类、非抽象类成员方法和变量。final类不能被继承,final类中的方法默认是final的。final方法不能被子类的方法覆盖,但可以被继承。final成员变量表示常量,只能被赋值一次,赋值后值不再改变。文章还讨论了final类和final方法的应用场景,以及使用final方法的两个原因:锁定方法防止修改和提高执行效率。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 安卓select模态框样式改变_微软Office风格的多端(Web、安卓、iOS)组件库——Fabric UI...
    介绍FabricUI是微软开源的一套Office风格的多端组件库,共有三套针对性的组件,分别适用于web、android以及iOS,Fab ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • Linux一键安装web环境全攻略
    摘自阿里云服务器官网,此处一键安装包下载:点此下载安装须知1、此安装包可在阿里云所有Linux系统上部署安装,此安装包包含的软件及版本为& ... [详细]
author-avatar
_MIN_Y
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有