`
lujiawu12
  • 浏览: 124401 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

利用shell自动化打包java工程

阅读更多

#!/bin/bash

#wuzhong@taobao.com
#打包工程用

usage()
{
	echo 'build.sh -s(svn up) -x(antx.properties) -m(mvn clean package) -a(do all) kjava/wtm ]'
	exit 1
}

#usage

NEED_MVN=1
while getopts "sxma:" options;do
	case $options in
		s) echo "svn up"
		   HAS_OPT=1
           NEED_SVN=1;;
		x) echo "copy antx properties"
		   HAS_OPT=1
           NEED_ANTX=1;;
		m) echo "mvn clean package"
		   HAS_OPT=1
		   NEED_MVN=1;;
        a) echo "do all: svn up , antx properties , mvn clean package"
           HAS_OPT=1
           NEED_MVN=1
           NEED_SVN=1
           NEED_ANTX=1;;		
		*) usage;;
	esac
done

#APP_NAME=wtm
APP_PATH=/home/wuzhong/workspace/
#获取最后一个参数
RELATIVE_PATH=${!#}
APP_NAME=$(basename $RELATIVE_PATH)

#对参数做判断
#if [ $HA ]

APP_PATH=${APP_PATH}${RELATIVE_PATH}

echo "app path is : $APP_PATH ; app name is $APP_NAME "

[ $NEED_ANTX ] && if [ -f /home/wuzhong/work/${APP_NAME}_antx.properties ]
    then
	echo "copy antx properties from " /home/wuzhong/work/${APP_NAME}_antx.properties
        cp /home/wuzhong/work/${APP_NAME}_antx.properties /home/wuzhong/antx.properties
    else
    	echo "===============antx.properties is not exist=============="
        exit 0
    fi

if [ ! -d $APP_PATH ]
then 
	echo "==============project doesnot exit==========" ; 
	exit 0
fi

if [ $NEED_SVN ] 
then
	cd $APP_PATH
	svn up
fi

if [ $NEED_MVN ]
then
	cd $APP_PATH
	mvn clean package 
fi
 
分享到:
评论

相关推荐

    spring boot 集成 svn 集成 jenkins 实现自动化部署

    在安装之前,我想说明一下本文的目的,jenkins的一款持续集成工具, 它可以做的事情很多,其中一个主要的功能就是简化部署流程 ...自动执行shell脚本启动项目 对于程序员而言,只要做两件事:

    Bash Shell中的select命令简单使用示例

    今天刚好写了一个自动化打包脚本,再次使用到了bash shell,好幸福的感觉。这里主要是想介绍一下select命令,这个命令可以帮助我们完成菜单选择功能。 格式 我今天也是第一次使用select流程控制,在php、Java、C这些...

    FinalBuilder Server 7.0.0.317 crack,完美破解

    完美破解 自动化持续集成,自动化部署,自动化单元测试,自动获取源代码 官方下载FinalBuilder Server 7.0.0.317 安装,然后用我的文件夹进行覆盖安装的FinalBuilder Server 7目录,然后找到网站,把所有网站用到的...

    博客推荐系统(javaweb或Hadoop结课作业,可部署在linux上)

    压缩包中有博客数据采集的爬虫代码、建立数据表所需的数据、建表语句、Javaweb项目文件、MapReduce项目文件(推荐算法,基于物品的协同过滤算法)和打包好的jar包、自动化执行推荐算法的shell脚本。可作为javaweb或...

    java安卓辅助源码-Android_Tool_Box:Android_Tool_Box

    将复杂的操作简单化、自动化,使安卓高级操作上手更加容易 二. 环境及工具 开发&测试环境: Windows10 2004 & Ubuntu 20.04 LTS(WSL) Python 3.8 VSCode with Python Extension Android Studio with SDK 打包环境: ...

    docker-elk:用于可信自动化 Docker 构建的 ELK 堆栈(Elasticsearch、Logstash、Kibana)Dockerfiles

    这个 repo 存储 Dockerfiles 用于 Docker 自动化可信构建(见上面的链接)。 我开始使用映像,该映像通过带有嵌入式 Elasticsearch 和 Kibana 的 Logstash 运行 ELK,但在生产中发现性能问题,因此我决定拆分为单独...

    企业后台管理基础框架 hsweb.zip

    表单管理: 动态表单,可视化设计表单,自动生成数据库以及系统权限.无需重启直接生效.模块设置: 配合动态表单实现表格页,查询条件自定义.数据库维护: 在线维护数据库,修改表结构,执行sql.数据源管理: 配置多数据源....

    基于 SpringBoot 开发的超简洁音乐播放器+源代码+文档说明

    2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。...

    sample-gradle-project01:只是另一个存储库

    Gradle 旨在支持跨多种语言和平台(包括 Java、Scala、Android、C/C++ 和 Groovy)的构建自动化,并与开发工具和持续集成服务器(包括 Eclipse、IntelliJ 和 Jenkins)紧密集成。 有关 Gradle 的更多信息,请访问:...

    新版Android开发教程.rar

    � Google 提供了一套 Java 核心包 (J2SE 5,J2SE 6) 的有限子集,尚不承诺遵守 Java 任何 Java 规范 , 可能会造 成J ava 阵营的进一步分裂。 � 现有应用完善度不太够,需要的开发工作量较大。--------------------...

    UNIX教程网络篇(打包)

    2.3 mailx别名、选项及邮件初始化文 件 24 2.3.1 mailx别名 24 2.3.2 mailx选项 24 2.3.3 管理邮箱文件 26 第3章 电子邮件程序Elm 28 3.1 使用Elm发送信件 28 3.2 使用Elm接收信件 30 3.3 退出Elm程序 32 3.4 删除...

    [开源]用SWT/JFace实现的放大镜软件jZoomer v1.2.0(附源码)

    随鼠标拖动功能,自动在屏幕中央显示功能,自动随鼠标显示功能 ·打包后无法通过修改配置文件切换语言(打包之前可以) ·整理需要到的jar包,从eclipse中提取出来放到lib目录下 ·设置滚轮放大缩小可以...

    springboot参考指南

    初始化新工程 vi. 55.6. 使用内嵌shell vii. 55.7. 为CLI添加扩展 iii. 56. 使用Groovy beans DSL开发应用 iv. 57. 接下来阅读什么 9. VIII. 构建工具插件 i. 58. Spring Boot Maven插件 i. 58.1. 包含该插件 ii. ...

    Tcl_TK编程权威指南pdf

    Shell程序非常适用于一些日常任务的自动化处理工作。 Tcl解释器可以很容易地添加到你的应用程序中,这种能力将它与其他的shell语言区分开来。Tcl扮演了一种扩展语言的角色,用来配置和定制应用程序。你没有必要再去...

    karaf:阿帕奇卡拉夫之镜

    它提供了您可以毫不费力地直接利用的统包功能,打包为可变或不可变应用程序。 概述 热部署:Karaf 支持应用热部署(在 deploy 目录中)。 动态配置:Karaf 使用中央位置(etc 目录)进行配置(以不同的格式、属性...

    adus:Android 调试工具套件

    动机在写了关于使用 Eclipse 和 DDMS 进行调试的,我想以某种方式使这些步骤自动化。 这就是 ADUS 的诞生方式。 它基本上只是一个 BASH 脚本,用于将事物粘合在一起并使我的生活更轻松。 随意调整它以满足您的需求。...

    Auto.js:一个主要由无障碍服务实现的不需要Root权限的类似按键精灵的自动操作软件,可以实现自动点击、滑动、输入文字、打开应用等

    采用JavaScript为脚本语言,并支持代码补全、变量重命名、代码格式化、查找替换等功能,可以作为一个JavaScript IDE使用 支持使用e4x编写界面,并可以将JavaScript打包为apk文件,您可以用它来开发小工具应用 支持...

    Android 开发技巧

    9.86、ANDROID自动化测试初探 324 9.86.1、捕获Activity上的Element 324 9.86.2、Hierarchyviewer 捕获Element的 328 9.86.3、架构实现 330 9.86.4、模拟键盘鼠标事件(Socket+Instrumentation实现) 332 9.86.5、再...

    Android开发资料合集-World版!

    9.86、ANDROID自动化测试初探 324 9.86.1、捕获Activity上的Element 324 9.86.2、Hierarchyviewer 捕获Element的 328 9.86.3、架构实现 330 9.86.4、模拟键盘鼠标事件(Socket+Instrumentation实现) 332 9.86.5、再...

    网管教程 从入门到精通软件篇.txt

    ASD:Microsoft Word的自动保存文件;Microsoft高级流媒体格式(microsoft advanced streaming format,ASF)的描述文件;可用NSREX打开 Velvet Studio例子文件 ASF:Microsoft高级流媒体格式文件 ASM:汇编语言...

Global site tag (gtag.js) - Google Analytics