`
DiaoCow
  • 浏览: 244210 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

自动更新项目分支shell脚本

阅读更多
这段时间一直在做一个项目,由于涉及的代码分支比较多,每次搭建环境都非常麻烦,所以就尝试写一个shell脚本来减轻工作量(希望自己以后能通过这些一点点提高自己的shell水平)。

#!/bin/bash

################################
#
# 自动更新项目分支脚本
#
# 运行方式:sh tools.sh config 
#
# diaocow 2012-07-29
#
#
################################

# mvn编译分支
function compile() {
	local svn_dir=$1
	if [ -d $svn_dir ]; then
		cd $svn_dir
		if [ -d "all" ]; then
			cd all
		fi
		mvn clean install -Dmaven.test.skip
		if [ "$?" != "0" ]; then
				echo "编译错误!!!"
				exit 1
		fi
	fi
}

# 分支配置文件
SVN_BRANCH_LIST=$1

if [ ! -f $SVN_BRANCH_LIST ]; then
	echo "请输入一个有效的分支文件!"
	exit 1;
fi

cat $SVN_BRANCH_LIST | while read line 
do
	if [ -z "$line" ]; then
		continue
    fi
	
	#目标svn目录
	svn_branch_dir=`echo "$line" | awk '{print $1}' | tr -d ' '`
	#目标svn分支
	svn_branch_url=`echo "$line" | awk '{print $2}' | tr -d ' '`
	
	#应用分支
	svn_web_branch=`echo $svn_branch_url | grep  'intl\-'`
	
	#目标svn目录存在
	if [ -d $svn_branch_dir ]; then
		cd $svn_branch_dir
		svn_ori_url=`svn info | grep URL | awk '{print $2}' | tr -d ' '`
		
		#分支已经过时
		if [ "$svn_branch_url" != "$svn_ori_url" ]; then
			cd ..
			rm -rf $svn_branch_dir
			svn co $svn_branch_url $svn_branch_dir
		else
			svn up;
			cd ..
		fi
	else
		svn co $svn_branch_url $svn_branch_dir
	fi
	
	#svn目录已经更新,执行编译
	current_dir=`pwd`
	compile $svn_branch_dir
	cd $current_dir
	
done


配置文件格式:

目录名 空格  分支名

运行方式:
sh tools.sh config  其中tools.sh 就是我们写的脚本;config 就是分支配置文件;

这个脚本目前我运行还没发现有什么问题,不过存在一个缺陷就是自己必须清楚各个分支的依赖顺序,然后再配置文件中按顺序列出
分享到:
评论

相关推荐

    手把手图解,详解Jenkins ,svn ,maven 项目持续集成 SHELL 脚本

    详解Jenkins,svn,maven项目持续集成SHELL脚本"这个标题表明了本文将通过图形化的解释,详细介绍如何使用Jenkins、Subversion(svn)和Maven这三个工具来实现软件项目的持续集成,并涉及到使用SHELL脚本来自动化...

    shell脚本.pdf

    Shell脚本是Linux/Unix操作系统中的一种编程语言,它允许用户通过命令行接口执行一系列自动化任务。对于初学者来说,掌握Shell脚本可以极大地提高工作效率,尤其在日常系统管理、数据处理和自动化流程中。这份"shell...

    shell脚本学习指南

    Shell脚本是Linux和Unix系统中的强大工具,它允许用户通过编写脚本来自动化一系列命令操作,极大地提高了系统管理和任务执行的效率。本文将深入探讨shell脚本的基础知识,包括语法、变量、控制结构、函数以及在实际...

    shell脚本培训视频.rar

    Shell脚本是Linux/Unix操作系统中的一种命令语言,它允许用户通过编写脚本来自动化一系列的命令执行任务。这个“shell脚本培训视频.rar”压缩包包含了一系列关于Shell脚本学习的资源,旨在帮助初学者和进阶者深入...

    shell脚本的常用格式及写法

    Shell脚本,全称为Bash Shell脚本,是Linux或Unix系统中的一种程序设计语言,它基于Shell命令行解释器,允许用户通过编写脚本来自动化一系列的系统操作。Shell脚本的编写对于日常的系统管理和自动化任务至关重要。...

    编写shell脚本经典教材

    在IT领域,Shell脚本是Linux/Unix操作系统中不可或缺的一部分,它是一种强大的自动化工具,能够帮助用户执行一系列命令,简化日常任务。"编写shell脚本经典教材"旨在提供全面的指导,教你如何写出高效、易读且实用的...

    Shell脚本编程详解

    Shell脚本编程是一种在Linux和类Unix操作系统中广泛使用的脚本编写技术,它允许用户创建自动化任务,执行一系列命令和操作。在这个主题中,我们将深入探讨Shell脚本编程的几个关键方面。 首先,理解`Shell命令行的...

    Linux Shell 脚本基础

    Linux Shell脚本基础是Linux系统管理员和开发者必备的技能之一,它允许用户通过编写脚本来自动化日常任务。本文将深入探讨Shell脚本的基础知识,包括基本语法、变量、控制结构、函数以及常用的内置命令。 首先,...

    shell脚本编程.pdf

    Shell脚本编程是Linux环境下进行自动化操作和系统管理的重要手段。它允许用户编写一系列命令,在命令行中依次执行,从而完成特定任务。在嵌入式Linux系统中,Shell脚本的使用同样广泛,尤其适合于硬件资源有限的系统...

    linux shell 脚本入门

    Linux Shell脚本是Linux系统中用于自动化任务的强大工具,它基于Bash或其他Shell解释器,允许用户编写一系列命令,以实现批处理、任务调度或任何需要自动化的工作流程。本PDF文档"shell-script-entry.pdf"提供了18页...

    高级shell脚本编程指南

    在IT领域,Shell脚本是Linux/Unix操作系统中不可或缺的一部分,它是一种强大的自动化工具,能够帮助用户执行一系列命令,简化日常任务。"高级shell脚本编程指南"是针对那些希望深入学习并提升shell脚本编写技能的...

    Shell脚本专家指南.zip

    Shell脚本,作为Linux/Unix系统中的编程工具,是一种强大的自动化任务执行方式,深受系统管理员和开发者喜爱。本文将深入探讨Shell脚本的基础知识、高级技巧以及实践应用,旨在帮助你成为Shell脚本的专家。 一、...

    shell脚本学习指南-中文版

    在Linux环境中,Shell脚本是自动化任务、系统管理、程序集成和日常操作的强大工具。以下是对"shell脚本学习指南-中文版"的详细知识点解析: 1. **Shell简介**:Shell是操作系统提供的一个用户界面,它允许用户输入...

    linux-shell脚本语言讲义

    流程控制是Shell脚本的核心部分,包括`if...then...else...fi`分支结构,`if...then...elif...then...fi`多条件分支,以及`case`语句。`case`语句可以根据变量的值匹配不同的执行块。 下面是一个简单的菜单驱动的...

    Shell脚本资料汇总.zip

    Shell脚本是Linux/Unix操作系统中的重要组成部分,它是一种用于自动化任务和系统管理的强大工具。在本资料包“Shell脚本资料汇总.zip”中,我们可以深入学习和掌握Shell脚本的相关知识,包括基础语法、控制结构、...

    Shell脚本超光速入门教程资料.rar

    Shell脚本是Linux/Unix操作系统中的重要组成部分,它是一种用于自动化任务、系统管理以及程序交互的语言。本教程将带你快速入门Shell脚本的世界,让你在短时间内掌握其基本概念和常用命令,从而提升你的系统管理效率...

    脚本shell写的,一些工作脚本集合

    在IT行业中,Shell脚本是一种极其重要的工具,尤其在Linux和Unix系统中广泛使用。它是一种解释型的编程语言,允许用户通过命令行接口执行一系列命令,自动化日常任务,提高工作效率。标题“脚本shell写的,一些工作...

    shell脚本大全,非常全面

    Shell脚本是Linux/Unix操作系统中的重要组成部分,它是一种用于自动化任务和系统管理的强大工具。在本资源包中,我们可能会发现一系列全面的Shell脚本示例,这些示例覆盖了从基础到高级的各种功能,旨在帮助用户深入...

    Linux操作系统shell脚本

    Linux 操作系统 shell 脚本是指使用 shell 语言编写的脚本程序,以实现自动执行某些任务或操作。shell 脚本是 Linux 操作系统中最常用的自动化工具之一。 1. shell 脚本的三种运行方式: (1)设置脚本文件的可...

    Shell脚本100例-v0.8.rar

    通过学习《Shell脚本100例-v0.8》,用户不仅能掌握基本的脚本编写技巧,还能了解到如何利用Shell脚本来自动化日常的系统管理和运维工作,提升工作效率。这份资源对于那些需要维护服务器或想要提升Linux技能的人来说...

Global site tag (gtag.js) - Google Analytics