目前我在新公司推行使用maven进行工程构建和管理,但是目前所有的测试环境和生成环境任然是WINDOWS,所以以前写的linux下自动构建打包的脚本无用了,今天写了个bat的的打包脚本,主要是用于测试人员,直接通过脚本自动打包测试用。免去开发人员打包在传文件的麻烦无聊事情,这里记录下。
@echo off rem Package project with maven+svn for test team. rem Just need your computer install JDK(1.6)+MAVEN(3)+SVN-Client rem @author: zhangpu rem @date: 2013-2-4 echo [INFO] Package project with maven+svn for test team. if "%JAVA_HOME%" == "" goto java_env_error if "%M2_HOME%" == "" goto maven_env_error set workspace=%~dp0 FOR /F "delims=" %%I IN ("svn.exe") DO (if exist %%~$PATH:I ( set svn_export=1 &break )) if %svn_export% equ 1 (goto pre_svn_export) else (goto do_ignore_svn) :pre_svn_export set svn_url=%1 set svn_username=%2 set svn_password=%3 if "%svn_url%" == "" ( echo [INFO] Please input project svn url: &set /p svn_url=) if "%svn_username%" == "" ( echo [INFO] Please input your svn-username: &set /p svn_username=) if "%svn_password%" == "" ( echo [INFO] Please input your svn-password: &set /p svn_password=) if "%svn_url%" == "" (echo [WARN] project svn url does not exsit!! &goto :do_ignore_svn) if "%svn_username%" == "" (echo [WARN] username not exsit!! &goto :do_ignore_svn) if "%svn_password%" == "" (echo [WARN] password not exsit!! &goto :do_ignore_svn) echo [INFO] Project_SVN_URL: %svn_url% echo [INFO] SVN_USERNAME: %svn_username% goto do_svn_export :do_svn_export if exist %workspace%\src (rd /s /q %workspace%\src &echo [INFO] clean and delete src) if exist %workspace%\target (rd /s /q %workspace%\target &echo [INFO] clean and delete target) if exist %workspace%\pom.xml (del /q %workspace%\pom.xml &echo [INFO] clean and delete pom.xml) svn export -q --force --username %svn_username% --password %svn_password% %svn_url% %workspace% echo [INFO] Finished export source from svn server. goto do_mvn_package :do_ignore_svn echo [WARN] SVN-Client is not found or svn parameters error, ignore source export from svn server, package directly. &goto do_mvn_package :do_mvn_package call mvn clean package -Dmaven.test.skip=true goto okEnd :java_env_error echo [ERROR] The JAVA_HOME environment variable is not defined correctly goto paramsError :maven_env_error echo [ERROR] The M2_HOME environment variable is not defined correctly goto paramsError :okEnd echo [INFO] Finished Auto-Package(SVN Auto Export + Maven Package) :paramsError pause
相关推荐
在Jenkins中,Maven用于解析项目依赖、编译源码、运行测试以及打包应用,为自动部署提供了基础。 5. SVN版本控制 Subversion(SVN)是一种版本控制系统,用于跟踪文件和目录的修改。在持续集成中,Jenkins可以从SVN...
总结,Jenkins + SVN + Maven 的持续集成方案提供了一种自动化的方式,使得团队能够高效地进行开发和部署,减少手动操作,提高软件质量和稳定性。在实际环境中,这些组件可以分布在不同的服务器上,以实现更高效和...
本文主要讲解如何通过Jenkins、Maven和Svn这三个工具实现代码的自动打包与发布。首先,我们需要理解这三个工具的基本功能: Jenkins 是一个开源的持续集成(Continuous Integration, CI)服务器,用于自动化各种...
本篇将详细介绍如何利用Hudson、Maven和Subversion(SVN)这三个工具进行持续集成,实现项目的自动化构建与部署。 一、所用开发工具 1. **Hudson**: 是一款开源的持续集成服务器,它能够监控集成构建过程,提供...
Maven是一种基于项目对象模型(Project Object Model, POM)的软件项目管理工具,它可以帮助开发者通过少量的描述信息来管理和构建项目,包括编译、打包、测试、文档生成等多个方面的工作。Maven的核心理念在于减少...
Maven是Java项目的构建工具,它通过POM(Project Object Model)文件管理项目依赖,自动化构建过程,如编译、测试、打包等,极大地提高了开发效率。 SVN(Subversion)是一种版本控制系统,用于跟踪和管理源代码的...
至此,一个基本的基于 Hudson、Maven 和 SVN 的持续集成环境已经建立。这个环境可以自动获取代码变更、构建项目、运行测试并部署到目标服务器,显著提高了开发团队的工作效率。随着团队需求的增加,你还可以进一步...
本文将详细介绍如何在Windows操作系统上配置一套基于Jenkins的持续集成环境,结合版本控制系统Subversion(SVN)、构建工具Maven以及应用服务器Tomcat,实现自动化构建和部署。 1. **Jenkins**:Jenkins是开源的...
Maven是一款基于项目对象模型(POM)的编译工具,可以自动化构建、测试和部署软件。Ant是一款基于XML的编译工具,可以实现自动化构建和部署软件。 从SVN检出代码 Jenkins可以从SVN版本控制系统中检出代码,实现...
Maven是一个项目管理和构建自动化工具,主要基于项目对象模型(Project Object Model,简称POM)。Maven通过POM文件来定义项目的构建过程和相关依赖,简化了构建配置,可以执行编译、测试、打包、部署等构建环节。...
Maven简化了项目的构建过程,通过配置POM.xml文件,可以自动化处理编译、测试、打包、部署等步骤。 3. **ZooKeeper**:ZooKeeper是由Apache开发的一个开源的分布式协调服务。它为分布式应用提供一致性的服务,如...
1. **Maven简介**:Maven是一个基于Java的项目管理工具,它通过使用一套标准的目录结构和项目对象模型(POM),简化了构建过程,包括编译、测试、打包、部署等。 2. **POM(Project Object Model)**:POM是Maven的...
总结:通过以上步骤,我们可以搭建一个基于Maven的Spring + Spring MVC + Mybatis的开发环境,这为构建高效、可维护的企业级Web应用奠定了基础。在实际开发过程中,还需要根据具体需求进行详细的设计和配置,以便...
在Jenkins中,Maven可以用于自动编译、打包和测试项目。 5. **SVN版本控制** Subversion(SVN)是一种版本控制系统,用于跟踪文件和目录的修改。在持续集成中,开发者将代码提交到SVN仓库,Jenkins监听这些提交,...
增量打包是基于版本控制系统(如SVN、Git等)的变更记录来确定哪些文件发生了变化。在SVN中,每次提交都会记录下文件的修改状态,包括添加、删除、修改等。当执行增量打包时,系统会检查这些记录,找出自上一次打包...
本文将深入探讨如何利用Maven进行一键打包,以及与之相关的服务器配置和svn版本控制。 ### Maven 的核心功能 Maven 是一个基于项目对象模型(Project Object Model,POM)的概念,通过POM文件来管理和构建项目。它...