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

持续集成及自动化部署之Jenkins

持续集成及自动化部署工具持续部署[CD]**仅仅单元测试还不够,各个模块必须能够在服务器上运行;**关注点在于项目功能(各个模块)部署至服务器后可以运行,为测试环节或最终用户使用做
持续集成及自动化部署工具

持续部署[CD]

**仅仅单元测试还不够,各个模块必须能够在服务器上运行;
**关注点在于项目功能(各个模块)部署至服务器后可以运行,为测试环节或最终用户使用做好准备;

持续集成[CI]

**经常性、频繁的把所有模块集成在一起进行测试[集成测试],有问题尽早发现;
**关注点在于尽早发现项目整体运行问题,尽早解决;

持续交付[CD]

**用小版本不断进行快速迭代,不断收集用户反馈信息,用最快的速度改进优化;[大版本/release]
**关注点在于研发团队的最新代码能够尽快让最终用户体验到;

总体目标

**好处:
***1.降低风险;
***2.减少重复过程[如编译、测试、打包等固定流程] - 自动化流程;
***3.任何时间、任何地点生成 "可部署的软件";
***4.增强项目的可见性<1>有效决策;<2>注意到趋势;
***5.建立团队对开发产品的信心;

Jenkins | Hudson

** 前提知识:Linux基本命令|vim编辑器|Maven项目构建管理|Github|SVN
** 可整合Github或Subversion
** 人工部署
** 自动化部署
*** 搭建持续集成环境:可以把构建、部署自动化,减轻工作量
> deploy web container插件 + >
*** dev > git repository > 钩子程序 > jenkins > [GIT插件]> code >打包> war包>部署>Tomcat server
> [Maven插件] > + >

Jenkins:

### Jenkins + SVN:
** 要点:
*** 创建虚拟机安装Linux系统:vm1-svn,vm2-jenkins,vm3-application(tomcat);
*** 版本控制子系统(SVN):
- subversion服务器;
- 项目对应版本库;
- 版本库中钩子程序;
-- linux curl命令:-X:指定请求方式;-v:显示响应结果;-u:携带用户名/密码;-H:携带请求消息头信息;
*** 持续集成子系统
- JDK;
- Tomcat;
- Maven;
- Jenkins:
-- 主体程序;
-- svn插件;
-- maven插件;
-- Deploy to Web Container插件;
***应用发布子系统
- JDK;
- Tomcat;
### Jenkins + Github:
**要点:
*** Jenkins需要部署到外网,因Github无法无法访问内网地址;
- 安装Jenkins;
*** Jenkins所在主机需要安装GIT,git从GitHub上clone代码;
- echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc # >>追加
- source /etc/bashrc # 使文件生效
*** Jenkins需要指定git程序位置,和指定jdk、maven程序位置类似;
- 配置git;
*** 在GitHub上使用每个repository的webhook方式远程触发Jenkins构建;
- GitHub配置webhook[repository>settings>webhook>add webhook>远程触发的身份验证令牌]
*** 在Jenkins内关闭“防止跨站请求伪造”;
- 全局安全配置 > CSRF Protection > 取消勾选;

推荐阅读
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • 加密世界下一个主流叙事领域:L2、跨链桥、GameFi等
    本文介绍了加密世界下一个主流叙事的七个潜力领域,包括L2、跨链桥、GameFi等。L2作为以太坊的二层解决方案,在过去一年取得了巨大成功,跨链桥和互操作性是多链Web3中最重要的因素。去中心化的数据存储领域也具有巨大潜力,未来云存储市场有望达到1500亿美元。DAO和社交代币将成为购买和控制现实世界资产的重要方式,而GameFi作为数字资产在高收入游戏中的应用有望推动数字资产走向主流。衍生品市场也在不断发展壮大。 ... [详细]
  • 本文介绍了在使用Python中的aiohttp模块模拟服务器时出现的连接失败问题,并提供了相应的解决方法。文章中详细说明了出错的代码以及相关的软件版本和环境信息,同时也提到了相关的警告信息和函数的替代方案。通过阅读本文,读者可以了解到如何解决Python连接服务器失败的问题,并对aiohttp模块有更深入的了解。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • C++字符字符串处理及字符集编码方案
    本文介绍了C++中字符字符串处理的问题,并详细解释了字符集编码方案,包括UNICODE、Windows apps采用的UTF-16编码、ASCII、SBCS和DBCS编码方案。同时说明了ANSI C标准和Windows中的字符/字符串数据类型实现。文章还提到了在编译时需要定义UNICODE宏以支持unicode编码,否则将使用windows code page编译。最后,给出了相关的头文件和数据类型定义。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
author-avatar
1098502132_027279
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有