#!/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
分享到:
相关推荐
Java项目的自动化构建、打包和部署是现代开发流程中的重要环节,极大地提高了开发效率和产品质量。在本项目中,我们利用Jenkins、Maven、Gitlab和Tomcat这四个工具实现了一个完整的自动化工作流。 首先,让我们来...
在IT行业中,shell脚本是Linux或Unix操作系统中的一种强大工具,用于自动化任务执行和系统...这使得shell脚本成为自动化Java应用运维的重要工具。通过熟练掌握这些技能,开发者可以提高工作效率,确保系统的稳定运行。
在这个场景中,我们有两个关键文件:`runjar.sh`和`build.sh`,它们是实现Spring Boot应用自动化发布的shell脚本。 首先,让我们详细了解一下`build.sh`脚本。这个脚本通常用于构建项目,它可能包含了编译源代码、...
Android Shell批量打包是一种高效的方法,它通过编写脚本自动化处理一系列打包操作,节省时间和精力。 首先,我们要理解Android应用程序的基本结构。一个Android应用通常由一系列的源代码、资源文件(如图片、布局...
在IT行业中,Shell脚本和Java程序经常相互配合,实现自动化任务和系统管理。这篇博客“Shell执行/调用Java/Jar程序例子”探讨了如何使用Shell脚本来启动和控制Java应用程序,特别是JAR文件。这里我们将深入讲解相关...
Shell脚本主要用于Linux或Unix系统中的自动化任务执行,而Java是一种跨平台的编程语言,广泛应用于企业级应用、大数据处理等领域。当需要将这两者结合时,通常是为了在Shell脚本中调用Java程序,实现更复杂的系统...
本教程将详细介绍如何利用Jenkins与Gradle搭建一个自动化构建平台,实现Android项目的自动构建与打包。 #### 二、Jenkins 的安装与配置 ##### 1. Jenkins 下载 - **下载地址**:[https://jenkins.io/download/]...
在这个场景下,`自动打包代码shell`指的是使用Shell脚本来自动化应用程序的打包过程。下面将详细解释这个主题以及与其相关的知识点。 首先,我们需要理解什么是Shell脚本。Shell是Unix或类Unix系统上的一个命令行...
PackingTools这个文件可能是一个实现了上述功能的Java工具包或脚本,包含用于自动化打包过程的类和方法。使用这样的工具,开发者只需要提供必要的配置信息,就可以快速得到所需的各个渠道包,极大地提高了开发效率,...
"Shell调用Ant打包部署"是一个常见的自动化构建过程,它利用Unix/Linux的Shell脚本和Apache Ant工具来编译、打包和部署应用程序。下面我们将深入探讨这个主题。 首先,Apache Ant是一个基于Java的构建工具,它通过...
Jenkins+Docker 实现一键自动化部署项目 本文将详细介绍如何使用 Jenkins 与 Docker 实现一键自动化部署项目。该项目环境基于 Centos 7,使用 Git(Gitee)版本控制系统。整个过程可以分为四个步骤:安装 Docker、...
在IT行业中,自动化部署是提高效率、减少错误的关键步骤,特别是在Java项目开发中。本文将详细探讨如何通过Shell脚本和Git实现基于Maven的Java项目的增量部署。 首先,让我们理解核心组件的作用: 1. **Git**:这...
在IT行业中,自动部署是提高效率、减少人为错误的关键实践。...通过"ant_shell自动部署",IT团队能够更高效、稳定地管理软件部署,提高开发运维的协同效率,降低系统风险,是现代软件工程不可或缺的一部分。
本文将深入探讨如何在MacOS High Sierra操作系统上,利用Jenkins实现项目的自动化打包,同时分享在这个过程中可能遇到的问题以及解决策略。 首先,我们要理解Jenkins的基本概念。Jenkins是一个基于Java开发的持续...
"devops持续集成自动化部署常用功能"这个主题涵盖了多种编程语言和技术,包括Shell脚本、Java和Python,它们在实现持续集成和自动化部署过程中发挥着关键作用。 1. **Shell脚本**:在Linux或Unix环境中,Shell脚本...
总结起来,"svn+maven+shell自动发布代码"是一种高效且可靠的自动部署解决方案,它利用了SVN的版本控制,Maven的构建管理,以及Shell的自动化能力,大大简化了传统的手动部署流程,提高了开发团队的工作效率。
总之,微服务工程的自动化编译和部署利用shell脚本提高了开发效率和系统稳定性。通过合理设计和实施这些脚本,可以实现快速响应变化,促进敏捷开发,并且在大型分布式系统中保持服务的高效运行。在实际操作中,...
Jenkins 是一个基于 Java 的自动化服务器,用于实现自动编译、测试、部署、重启等任务。Jenkins 的主要功能是将编译、测试、部署等过程自动化,从而提高开发效率和质量。 2. 自动编译: 自动编译是指在 Jenkins 中...
通过在pom.xml文件中配置相关的打包插件,如maven-jar-plugin或maven-war-plugin,就可以实现自动化打包。 3. Gradle:另一个流行的构建工具,比Maven更灵活,支持Groovy和Kotlin DSL编写构建脚本。Gradle同样拥有...
自动化打包上传虽然高效,但也需要注意安全性。确保只有授权的人员可以访问和执行自动化脚本,避免未签名的APK被发布,同时保护签名密钥的安全,防止泄露。 综上所述,"Android-apk自动打包上传"涉及到了Android...