`

基于Maven+SVN自动打包

 
阅读更多

 

目前我在新公司推行使用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

 

分享到:
评论
4 楼 stephaniez 2014-06-12  
楼主可以发个Linux版本的吗?windows版本经测试可以的。
3 楼 zp820705 2014-04-18  
zsj244 写道
你好,我想用下你的代码,需要替换哪些地方,谢谢

你下载直接使用就可以了,这个是通用的。
2 楼 zsj244 2014-04-15  
麻烦问下,怎么联系你
1 楼 zsj244 2014-04-15  
你好,我想用下你的代码,需要替换哪些地方,谢谢

相关推荐

    Jenkins+Maven+SVN+Tomcat持续集成实战

    在Jenkins中,Maven用于解析项目依赖、编译源码、运行测试以及打包应用,为自动部署提供了基础。 5. SVN版本控制 Subversion(SVN)是一种版本控制系统,用于跟踪文件和目录的修改。在持续集成中,Jenkins可以从SVN...

    jenkins + svn+maven持续集成

    总结,Jenkins + SVN + Maven 的持续集成方案提供了一种自动化的方式,使得团队能够高效地进行开发和部署,减少手动操作,提高软件质量和稳定性。在实际环境中,这些组件可以分布在不同的服务器上,以实现更高效和...

    Jenkins+Maven+Svn实现代码自动打包与发布.docx

    本文主要讲解如何通过Jenkins、Maven和Svn这三个工具实现代码的自动打包与发布。首先,我们需要理解这三个工具的基本功能: Jenkins 是一个开源的持续集成(Continuous Integration, CI)服务器,用于自动化各种...

    Hudson+Maven+SVN

    本篇将详细介绍如何利用Hudson、Maven和Subversion(SVN)这三个工具进行持续集成,实现项目的自动化构建与部署。 一、所用开发工具 1. **Hudson**: 是一款开源的持续集成服务器,它能够监控集成构建过程,提供...

    Jenkins+Maven+svn+Tomcat入门文档

    Maven是一种基于项目对象模型(Project Object Model, POM)的软件项目管理工具,它可以帮助开发者通过少量的描述信息来管理和构建项目,包括编译、打包、测试、文档生成等多个方面的工作。Maven的核心理念在于减少...

    管理系统系列--基于SSH框架的BOS物流管理系统,eclipse+maven+svn+powerdesigner.zip

    Maven是Java项目的构建工具,它通过POM(Project Object Model)文件管理项目依赖,自动化构建过程,如编译、测试、打包等,极大地提高了开发效率。 SVN(Subversion)是一种版本控制系统,用于跟踪和管理源代码的...

    Hudson+Maven+SVN 搭建持续集成环境

    至此,一个基本的基于 Hudson、Maven 和 SVN 的持续集成环境已经建立。这个环境可以自动获取代码变更、构建项目、运行测试并部署到目标服务器,显著提高了开发团队的工作效率。随着团队需求的增加,你还可以进一步...

    关于windows下jenkins+svn+maven+tomcat持续集成

    本文将详细介绍如何在Windows操作系统上配置一套基于Jenkins的持续集成环境,结合版本控制系统Subversion(SVN)、构建工具Maven以及应用服务器Tomcat,实现自动化构建和部署。 1. **Jenkins**:Jenkins是开源的...

    jenkins+svn+maven构建

    Maven是一款基于项目对象模型(POM)的编译工具,可以自动化构建、测试和部署软件。Ant是一款基于XML的编译工具,可以实现自动化构建和部署软件。 从SVN检出代码 Jenkins可以从SVN版本控制系统中检出代码,实现...

    Jenkins+Svn+Maven培训

    Maven是一个项目管理和构建自动化工具,主要基于项目对象模型(Project Object Model,简称POM)。Maven通过POM文件来定义项目的构建过程和相关依赖,简化了构建配置,可以执行编译、测试、打包、部署等构建环节。...

    SVNtortoise+maven+zookeeper+管控台.安装包

    Maven简化了项目的构建过程,通过配置POM.xml文件,可以自动化处理编译、测试、打包、部署等步骤。 3. **ZooKeeper**:ZooKeeper是由Apache开发的一个开源的分布式协调服务。它为分布式应用提供一致性的服务,如...

    SVN管理软件+Maven小项目.rar_SVN管理软件+Maven小项目_svn

    1. **Maven简介**:Maven是一个基于Java的项目管理工具,它通过使用一套标准的目录结构和项目对象模型(POM),简化了构建过程,包括编译、测试、打包、部署等。 2. **POM(Project Object Model)**:POM是Maven的...

    基于Maven的Spring + Spring MVC + Mybatis的环境搭建.docx

    总结:通过以上步骤,我们可以搭建一个基于Maven的Spring + Spring MVC + Mybatis的开发环境,这为构建高效、可维护的企业级Web应用奠定了基础。在实际开发过程中,还需要根据具体需求进行详细的设计和配置,以便...

    [Jenkins Maven SVN Tomcat持续集成实战v2

    在Jenkins中,Maven可以用于自动编译、打包和测试项目。 5. **SVN版本控制** Subversion(SVN)是一种版本控制系统,用于跟踪文件和目录的修改。在持续集成中,开发者将代码提交到SVN仓库,Jenkins监听这些提交,...

    增量打包代码

    增量打包是基于版本控制系统(如SVN、Git等)的变更记录来确定哪些文件发生了变化。在SVN中,每次提交都会记录下文件的修改状态,包括添加、删除、修改等。当执行增量打包时,系统会检查这些记录,找出自上一次打包...

    maven 一键打包

    本文将深入探讨如何利用Maven进行一键打包,以及与之相关的服务器配置和svn版本控制。 ### Maven 的核心功能 Maven 是一个基于项目对象模型(Project Object Model,POM)的概念,通过POM文件来管理和构建项目。它...

Global site tag (gtag.js) - Google Analytics