• Jenkins特征与持续集成服务器部署


    Jenkins是一款开源持续集成工具,广泛用于项目开发,具有自动化构建、测试、部署等功能。  官网:https://www.jenkins.io/


    Jenkins的特征:

    • 开源的Java语言开发持续集成工具,支持持续集成,持续部署
    • 易于安装部署配置:可通过yum安装,下载war包以及通过docker容器等快速实现安装部署,使用web界面配置管理。
    • 消息通知及测试报告:集成RSS、E-mail通过RSS发布构建结果或者当构建完成时通过e-mail通知,生成JUnit/TestNG测试报告
    • 分布式构建:Jenkins可以让多台计算机一起构建/测试(主从构建)
    • 文件识别:Jenkins可以跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等
    • 丰富的插件支持:1000+插件

    Jenkins安装和持续集成环境配置:

    • 首先,开发人员每天进行代码提交,提交至Git仓库
    • 其次,Jenkins作为持续集成工具,使用Git工具到Git仓库拉取代码到集成服务器,再配合JDK,Maven等软件完成代码编译、代码测试与审查,测试,打包等工作。在这个过程中任一步出错,都需重新在执行一次整个流程
    • 最后,Jenkins把生成的jar或war包分发到测试服务器或者生产服务器,测试人员或用户即可以访问更新后的应用。

     服务器列表:

    Maven 

    Maven 翻译为"专家"、"内行",是 Apache 下的一个纯 Java 开发的开源项目。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。

    Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。

    Maven 也可被用于构建和管理各种项目,例如 C#,Ruby,Scala 和其他语言编写的项目。Maven 曾是 Jakarta 项目的子项目,现为由 Apache 软件基金会主持的独立 Apache 项目。

    Maven 功能

    Maven 能够帮助开发者完成以下工作:

    • 构建
    • 文档生成
    • 报告
    • 依赖
    • SCMs
    • 发布
    • 分发
    • 邮件列表

    约定配置

    Maven 提倡使用一个共同的标准目录结构,Maven 使用约定优于配置的原则,大家尽可能的遵守这样的目录结构。如下所示:

    目录目的
    ${basedir} 存放pom.xml和所有的子目录
    ${basedir}/src/main/java 项目的java源代码
    ${basedir}/src/main/resources 项目的资源,比如说property文件,springmvc.xml
    ${basedir}/src/test/java 项目的测试类,比如说Junit代码
    ${basedir}/src/test/resources 测试用的资源
    ${basedir}/src/main/webapp/WEB-INF web应用文件目录,web项目的信息,比如存放web.xml、本地图片、jsp视图页面
    ${basedir}/target 打包输出目录
    ${basedir}/target/classes 编译输出目录
    ${basedir}/target/test-classes 测试编译输出目录
    Test.java Maven只会自动运行符合该命名规则的测试类
    ~/.m2/repository Maven默认的本地仓库目录位置

    Maven 特点

    • 项目设置遵循统一的规则。

    • 任意工程中共享。

    • 依赖管理包括自动更新。

    • 一个庞大且不断增长的库。

    • 可扩展,能够轻松编写 Java 或脚本语言的插件。

    • 只需很少或不需要额外配置即可即时访问新功能。

    • 基于模型的构建 − Maven能够将任意数量的项目构建到预定义的输出类型中,如 JAR,WAR 或基于项目元数据的分发,而不需要在大多数情况下执行任何脚本。

    • 项目信息的一致性站点 − 使用与构建过程相同的元数据,Maven 能够生成一个网站或PDF,包括您要添加的任何文档,并添加到关于项目开发状态的标准报告中。

    • 发布管理和发布单独的输出 − Maven 将不需要额外的配置,就可以与源代码管理系统(如 Subversion 或 Git)集成,并可以基于某个标签管理项目的发布。它也可以将其发布到分发位置供其他项目使用。Maven 能够发布单独的输出,如 JAR,包含其他依赖和文档的归档,或者作为源代码发布。

    • 向后兼容性 − 您可以很轻松的从旧版本 Maven 的多个模块移植到 Maven 3 中。

    • 子项目使用父项目依赖时,正常情况子项目应该集成父项目依赖,无需使用版本号,

    • 并行构建 − 编译的速度能普遍提高20 - 50 %。

    • 更好的错误报告 − Maven 改进了错误报告,它为您提供了 Maven wiki 页面的链接,您可以点击链接查看错误的完整描述。

    GitLab

    GitLab是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。

    GitLab和GitHub一样属于第三方基于Git开发的作品,免费且开源(基于MIT协议),与GitLab类似,可以注册用户,任意提交你的代码,添加SSHKey等。不同的是,GitLab是可以部署到自己的服务器上的,数据库等一切信息都掌握在自己手上,适合团队内部协作开发。简单来说可以把GitLab看做个人版的GitHub。

  • 相关阅读:
    Json对象与Json字符串互转(4种转换方式)
    Web.config配置文件详解
    jQuery BlockUI Plugin Demo 6(Options)
    jQuery BlockUI Plugin Demo 5(Simple Modal Dialog Example)
    jQuery BlockUI Plugin Demo 4(Element Blocking Examples)
    jQuery BlockUI Plugin Demo 3(Page Blocking Examples)
    jQuery BlockUI Plugin Demo 2
    <configSections> 位置引起的错误
    关于jQuery的cookies插件2.2.0版设置过期时间的说明
    jQuery插件—获取URL参数
  • 原文地址:https://www.cnblogs.com/hanfanfan/p/12933378.html
Copyright © 2020-2023  润新知