自动化构建工具
-
Jenkins 是一款自动化构建工具,能够基于 Maven 构建后端 Java 项目,也能够基于 nodejs 构建前端 vue 项目,并且有可视化 web 界面。
所谓自动化构建是按照一定的策略执行打包脚本,相对于普通脚本构建,Jenkins 有如下优势:
构建队列中能够同时构建多个项目,包含前端和后端项目;定时构建;代码仓库触发构建,普通脚本无法实现;
Jenkins 体现一种项目管理思维:开发人员的贴心助理,集中精力专注于业务开发;尽早的实现代码集成以便能够尽早发现问题;构建环境与开发环境隔离,为向生产环境迁移做好充足的准备。
构建过程全程自动化进行,无人工参与,配合 Docker 容易实现高效的项目部署与迁移。
Jenkins 是一个工具,既然是一个工具,便有相应的替代方案,因此不需要花工作的时间琢磨这个工具是如何工作的,将精力放在如何利用 Jenkins 提高敏捷开发效率上更有意义。
实践过程中,将项目的脚本化构建用 shell 编写成命令脚本,并附加在项目中,即使不使用 Jenkins,通过执行 shell 脚本也能够实现项目的自动化构建。这么做主要有如下考虑:增强拓展性;即使没有 Jenkins,项目也能完成构建,增加构建的拓展性;减少对 Jenkins 的依赖;让 Jenkins 承担实践调度的角色,具体构建过程由标准化的脚本来完成。
既然 shell 脚本能够完成自动化构建,那么还需要用到 Jenkins 吗,是否冲突?答案是不冲突。shell 脚本配合 Jenkins 使用有两大方面优势:
使用 shell 脚本必须登录目标服务器,拥有相应的权限后,方能执行 shell 脚本,Jenkins 能够实现在不登录目标服务器的基础上,使用一对账号和密码,管理可视化的 Web 操作界面触发构建事件。
按需构建,开发者在提交完代码后,向 Jenkins 服务器发送一个信号,便可触发构建。
西南地区IT社群(QQ)
- 云南
- 【昆明网页设计交流吧】243627302
- 【昆明nodejs交流吧】 243626749
- 【VUE】838405306
- 【云南程序员总群】343606807
- 【昆明UI设计】104031254
- 【云南软件外包】15547313
- 贵州
- 【PHP/java源码/站长交流群】55692114
- 四川
- 【成都Java/JavaWeb交流】86669225
- 【vaScript+PHP+MySql】116270060
- 【UI设计/设计交流学习群】135794928
- 重庆
- 【诺基亚 JAVA游戏博物馆】 559479780
- 【PHP,Java,Python,C++接单】 442103442
- 西藏