zoukankan      html  css  js  c++  java
  • 持续集成

    持续集成,持续交付,持续部署。

    持续集成:对源代码进行自动化编译、测试、代码检查,以及打包程序、部署(发布)到应用服务器上。主要使用jenkins。

    通过主干开发分支发布进行,首先从主干上拉取代码到本地进行开发,代码修改完成定点将代码合入到主干后进行编译扫描,跑自动化测试任务。自动化测试包括单元测试、集成测试、系统测试、验收测试、性能测试等。

    Jenkins:

    配置项目配置任务流配置任务。

    主要在于任务的管理,有拉取代码任务,扫描任务,编译等。可通过使用ant脚本或者shell脚本或者其他脚本实现各功能。

     Ant脚本是一个基于开放的操作系统构建和部署的工具,用xml的文档来编写,就如linux下的shell脚本,windows下的cmd命令。通过一个xml文件来制定一系列文件的创建删除任务、编译任务、运行任务、测试任务、打包任务等。我们可以通过ant指令执行这个xml脚本,来批处理这些任务,这样就可以实现“一键”完成编码后的编译、运行、测试、打包导出等工作,使我们可以更加专注于代码的编写与质量。

    ps:ant的使用和学习:https://www.w3cschool.cn/ant 

    <?xml version="1.0"?>
       <project name="pro"  default="info2">
      <copy file="C:/Users/user/Desktop/startup.txt" tofile="C:/Users/user/Desktop/copy.txt"/> 拷贝文件
        <path id="build.classpath">
           <fileset dir="lib">
              <include name="*.jar"/>
           </fileset>
           <pathelement path="${build.dir}"/>
        </path>
    <target name="clean"> 
    <delete dir="build"/>
    </target>
    <target name="compile" depends="clean">  
    <mkdir dir="build/classes"/>
    <javac srcdir="src" destdir="build/classes" encoding="UTF-8" includes="com/**">
        <classpath refid="build.classpath" />
        </javac>
    </target>                 使用ant编译java项目。将build.xml存放于项目下,跑命令跑该脚本  ant -buildfile xml路径
       <property name="sitename" value="www.xxxxx.com"/>   属性相当于参数定义
       <target name="info2" depends="info1">    可包含多个target,每个target就是一个任务,target中有name、depends、description、if、unless
          <echo>测试</echo>
       </target>
       <target name="info1" depends="info">
          <echo>扫描</echo>
       </target>
       <target name="info"  >
          <echo>编译  ${sitename} ${ant.project.name}</echo>  参数的使用 ant的预定义属性也可以使用。
       </target>
    
    </project>

    java用来运行一个.class文件   java -buildfile xxx.java

    javadoc用来生成api文档

    jar用来生成jar包

    javac用来把.java文件编译为.class文件   java  xxx

     初始化、编译、打包

    <?xml version="1.0" encoding="UTF-8"?>
    
    <project name="ant_web_hello" default="jar" >
        <target name="init">
        <mkdir dir="build/classes"/>
        </target>
        <!-- 定义编译时的classpath -->
        <path id="compile.path">
            <fileset dir="webContent/WEB-INF/lib" includes="*.lib">
            </fileset>
            
        </path>
    
     <target name="compile"  description="编译源文件" depends="init" >
            <javac srcdir="src" destdir="build/classes" source="1.5" target="1.5">
                <classpath refid="compile.path" />
            </javac>
         <echo>编译完成!</echo>
        </target>
    
    
        <target name="jar" depends="compile">
           <jar destfile="webContent/WEB-INF/lib/util.jar" >
           </jar>
            <echo>打包完成!</echo>
        </target>     
    
        <target name="clean" description="清理" depends="jar">
            <delete dir="build/classes" />
            <echo>清理完成!</echo>
        </target>
    
    </project>

    Jenkins配置: 使用的是java语言写的代码,代码开发时使用jdk1.8版本,服务器使用1.7版本,需要更新jdk版本。下载安装jdk,在环境变量中配置环境变量。 环境变量配置时找到jdk地址,之后设置参数进行修改。 在cmd命令中确认java的版本,java -version 在出现java.lang.ArrayIndexOutOfBoundsException: 5 问题时,是参数有问题,

    <path id="build.classpath">   <fileset dir="lib">      <include name="*.jar"/>   </fileset>   <pathelement path="${build.dir}"/></path>

    Bamboo

    以上是jenkins的简单描述,一直看到过bamboo这个jira的插件,但是不知道是干嘛的,今天去翻了一下原来也是持续集成的,一款持续集成构建服务器软件,但是是非开源的。

    windows上支持:MSBuild, NAnt, Visual Studio   

    Java平台: Ant, Maven 1, Maven 2, Maven 3    包括另外一些编译脚本 custom script, command line, Bash

    在通知方面支持XMPP, Google Talk, E-mail, RSS, Remote API 协议等

    可以和以下平台集成:   IntelliJ IDEA, Eclipse, Visual Studio     FishEye, Crowd, JIRA, Clover

    在SCM方面支持常见的主流版控工具,如CVS,Subversion,Git,CC等。

  • 相关阅读:
    IntellJ IDEA 使用技巧之组件窗口设置
    记springboot + MP +Hikari动态数据源配置
    manjaro升级后_sogou输入法异常
    python_mysql库安装问题
    通讯录制作(.csv文件转.vcf文件即vcard格式)
    win10_bat _运行python程序
    yield()返回参数函数使用
    python交换两个整型数据的数值
    Mongodb 4.0+安装
    C# winform 记住密码实现代码
  • 原文地址:https://www.cnblogs.com/yokiblogs/p/10826843.html
Copyright © 2011-2022 走看看