`

利用shell自动化打包java工程

 
阅读更多
Java代码  收藏代码
  1. #!/bin/bash  
  2.   
  3. #wuzhong@taobao.com  
  4. #打包工程用  
  5.   
  6. usage()  
  7. {  
  8.     echo 'build.sh -s(svn up) -x(antx.properties) -m(mvn clean package) -a(do all) kjava/wtm ]'  
  9.     exit 1  
  10. }  
  11.   
  12. #usage  
  13.   
  14. NEED_MVN=1  
  15. while getopts "sxma:" options;do  
  16.     case $options in  
  17.         s) echo "svn up"  
  18.            HAS_OPT=1  
  19.            NEED_SVN=1;;  
  20.         x) echo "copy antx properties"  
  21.            HAS_OPT=1  
  22.            NEED_ANTX=1;;  
  23.         m) echo "mvn clean package"  
  24.            HAS_OPT=1  
  25.            NEED_MVN=1;;  
  26.         a) echo "do all: svn up , antx properties , mvn clean package"  
  27.            HAS_OPT=1  
  28.            NEED_MVN=1  
  29.            NEED_SVN=1  
  30.            NEED_ANTX=1;;          
  31.         *) usage;;  
  32.     esac  
  33. done  
  34.   
  35. #APP_NAME=wtm  
  36. APP_PATH=/home/wuzhong/workspace/  
  37. #获取最后一个参数  
  38. RELATIVE_PATH=${!#}  
  39. APP_NAME=$(basename $RELATIVE_PATH)  
  40.   
  41. #对参数做判断  
  42. #if [ $HA ]  
  43.   
  44. APP_PATH=${APP_PATH}${RELATIVE_PATH}  
  45.   
  46. echo "app path is : $APP_PATH ; app name is $APP_NAME "  
  47.   
  48. [ $NEED_ANTX ] && if [ -f /home/wuzhong/work/${APP_NAME}_antx.properties ]  
  49.     then  
  50.     echo "copy antx properties from " /home/wuzhong/work/${APP_NAME}_antx.properties  
  51.         cp /home/wuzhong/work/${APP_NAME}_antx.properties /home/wuzhong/antx.properties  
  52.     else  
  53.         echo "===============antx.properties is not exist=============="  
  54.         exit 0  
  55.     fi  
  56.   
  57. if [ ! -d $APP_PATH ]  
  58. then   
  59.     echo "==============project doesnot exit==========" ;   
  60.     exit 0  
  61. fi  
  62.   
  63. if [ $NEED_SVN ]   
  64. then  
  65.     cd $APP_PATH  
  66.     svn up  
  67. fi  
  68.   
  69. if [ $NEED_MVN ]  
  70. then  
  71.     cd $APP_PATH  
  72.     mvn clean package   
  73. fi  
分享到:
评论

相关推荐

    Java项目包 Jenkins+Maven+Gitlab+Tomcat 自动化构建打包、部署

    Java项目的自动化构建、打包和部署是现代开发流程中的重要环节,极大地提高了开发效率和产品质量。在本项目中,我们利用Jenkins、Maven、Gitlab和Tomcat这四个工具实现了一个完整的自动化工作流。 首先,让我们来...

    shell脚本启动Java程序测试工程

    在IT行业中,shell脚本是Linux或Unix操作系统中的一种强大工具,用于自动化任务执行和系统...这使得shell脚本成为自动化Java应用运维的重要工具。通过熟练掌握这些技能,开发者可以提高工作效率,确保系统的稳定运行。

    sringboot项目自动化发布shell脚本

    在这个场景中,我们有两个关键文件:`runjar.sh`和`build.sh`,它们是实现Spring Boot应用自动化发布的shell脚本。 首先,让我们详细了解一下`build.sh`脚本。这个脚本通常用于构建项目,它可能包含了编译源代码、...

    android shell批量打包

    Android Shell批量打包是一种高效的方法,它通过编写脚本自动化处理一系列打包操作,节省时间和精力。 首先,我们要理解Android应用程序的基本结构。一个Android应用通常由一系列的源代码、资源文件(如图片、布局...

    Shell执行/调用Java/Jar程序例子

    在IT行业中,Shell脚本和Java程序经常相互配合,实现自动化任务和系统管理。这篇博客“Shell执行/调用Java/Jar程序例子”探讨了如何使用Shell脚本来启动和控制Java应用程序,特别是JAR文件。这里我们将深入讲解相关...

    shell 脚本调用Java类

    Shell脚本主要用于Linux或Unix系统中的自动化任务执行,而Java是一种跨平台的编程语言,广泛应用于企业级应用、大数据处理等领域。当需要将这两者结合时,通常是为了在Shell脚本中调用Java程序,实现更复杂的系统...

    Jenkins+Gradle自动构建打包Android工程教程

    本教程将详细介绍如何利用Jenkins与Gradle搭建一个自动化构建平台,实现Android项目的自动构建与打包。 #### 二、Jenkins 的安装与配置 ##### 1. Jenkins 下载 - **下载地址**:[https://jenkins.io/download/]...

    自动打包代码shell

    在这个场景下,`自动打包代码shell`指的是使用Shell脚本来自动化应用程序的打包过程。下面将详细解释这个主题以及与其相关的知识点。 首先,我们需要理解什么是Shell脚本。Shell是Unix或类Unix系统上的一个命令行...

    java实现一键打包

    PackingTools这个文件可能是一个实现了上述功能的Java工具包或脚本,包含用于自动化打包过程的类和方法。使用这样的工具,开发者只需要提供必要的配置信息,就可以快速得到所需的各个渠道包,极大地提高了开发效率,...

    shell调用ant打包 部署

    "Shell调用Ant打包部署"是一个常见的自动化构建过程,它利用Unix/Linux的Shell脚本和Apache Ant工具来编译、打包和部署应用程序。下面我们将深入探讨这个主题。 首先,Apache Ant是一个基于Java的构建工具,它通过...

    Jenkins+Docker 实现一键自动化部署项目.docx

    Jenkins+Docker 实现一键自动化部署项目 本文将详细介绍如何使用 Jenkins 与 Docker 实现一键自动化部署项目。该项目环境基于 Centos 7,使用 Git(Gitee)版本控制系统。整个过程可以分为四个步骤:安装 Docker、...

    通过Shell脚本,结合Git实现增量部署基于Maven的Java项目.zip

    在IT行业中,自动化部署是提高效率、减少错误的关键步骤,特别是在Java项目开发中。本文将详细探讨如何通过Shell脚本和Git实现基于Maven的Java项目的增量部署。 首先,让我们理解核心组件的作用: 1. **Git**:这...

    ant_shell自动部署

    在IT行业中,自动部署是提高效率、减少人为错误的关键实践。...通过"ant_shell自动部署",IT团队能够更高效、稳定地管理软件部署,提高开发运维的协同效率,降低系统风险,是现代软件工程不可或缺的一部分。

    Jenkins项目实战之-MacOS High Sierra自动化打包方案的填坑之旅.rar

    本文将深入探讨如何在MacOS High Sierra操作系统上,利用Jenkins实现项目的自动化打包,同时分享在这个过程中可能遇到的问题以及解决策略。 首先,我们要理解Jenkins的基本概念。Jenkins是一个基于Java开发的持续...

    devops持续集成自动化部署常用功能

    "devops持续集成自动化部署常用功能"这个主题涵盖了多种编程语言和技术,包括Shell脚本、Java和Python,它们在实现持续集成和自动化部署过程中发挥着关键作用。 1. **Shell脚本**:在Linux或Unix环境中,Shell脚本...

    svn+maven+shell自动发布代码

    总结起来,"svn+maven+shell自动发布代码"是一种高效且可靠的自动部署解决方案,它利用了SVN的版本控制,Maven的构建管理,以及Shell的自动化能力,大大简化了传统的手动部署流程,提高了开发团队的工作效率。

    微服务工程自动编译,部署的shell脚本,自行修改工程目录和服务名称,运行即可

    总之,微服务工程的自动化编译和部署利用shell脚本提高了开发效率和系统稳定性。通过合理设计和实施这些脚本,可以实现快速响应变化,促进敏捷开发,并且在大型分布式系统中保持服务的高效运行。在实际操作中,...

    jenkins自动打包部署.docx

    Jenkins 是一个基于 Java 的自动化服务器,用于实现自动编译、测试、部署、重启等任务。Jenkins 的主要功能是将编译、测试、部署等过程自动化,从而提高开发效率和质量。 2. 自动编译: 自动编译是指在 Jenkins 中...

    java 打包

    通过在pom.xml文件中配置相关的打包插件,如maven-jar-plugin或maven-war-plugin,就可以实现自动化打包。 3. Gradle:另一个流行的构建工具,比Maven更灵活,支持Groovy和Kotlin DSL编写构建脚本。Gradle同样拥有...

    Android-akp自动打包上传

    自动化打包上传虽然高效,但也需要注意安全性。确保只有授权的人员可以访问和执行自动化脚本,避免未签名的APK被发布,同时保护签名密钥的安全,防止泄露。 综上所述,"Android-apk自动打包上传"涉及到了Android...

Global site tag (gtag.js) - Google Analytics