linux 发布脚本
2016-04-12 16:01
656 查看
博客摘要
在项目实施中当我们要发布一个项目时候一般需要经过如下几步
1 更新svn代码
2 maven打包
3 停止tomcat
4 copy war包到tomcat下
5 启动tomcat
为了简化流程我们可以编写shell脚本一键完成。
本博客将一步一步讲解如何完成这样的脚本。
基本软件:svn maven tomcat jdk
jdk tomcat 安装这里就不介绍了。
subversion-1.6.12.tar.bz2 点击下载
2解压软件:# tar jxvf subversion-deps-1.6.12.tar.bz2
# tar jxvf subversion-1.6.12.tar.bz2
3 准备安装
创建一个svn的配置目录
# mkdir /usr/svn-client/subversion
目录结构如下:
切换到subversion-1.6.12下 # cd subversion-1.6.12
4 安装
# ./configure --prefix=/opt/svn-client/subversion
# make && make install
5 测试
看的上面信息说明安装成功
6 更新代码
下载代码指令:svn checkout path 简写为svn co path
例如:# svn checkout svn://localhost/pro/project
第一次更新会提示你输入root 密码 这时可以随便输入一个密码,然后会再次提示你输入用户名然后输入你的svn用户名 然后会提示你输入密码输入你的密码就可以了
更新代码指令:svn update
首先要进入的要更新代码的目录然后执行 svn update或者直接使用指令svn update -r m path
7 其他指令可以自己百度去学习这里只用到这两个指令
2 解压tar zxvf apache-maven-3.0.5-bin.tar.gz解压后:
3 配置maven安装目录
在/etc/profile文件后加入下面内容
export MAVEN_HOME=/opt/maven/apache-maven-3.0.5
export PATH=${MAVEN_HOME}/bin:${PATH}
4 让配置生效
#source /etc/profile
5 验证
# mvn -v
6 mvn 打包
切换到svn下载的项目路径使用命令:mvn install -Dmaven.test.skip=true
出现下面信息表示打包成功,例子中打出的是jar war也是一样的
Ps:在打包过程中你可能会遇到这样的错误
原因是缺少maven插件所需要的jar包 解决办法 你可以直接在项目中加入插件的jar包依赖,版本根据你的maven版本做相应修改,报错的地方会提示你。
1 更新svn代码
2 maven打包
3 停止tomcat
4 copy war包到tomcat下
5 启动tomcat
1 新建脚本文件:vi test 文件内容如下:
2编译代码 chmod -x test
执行脚本 ./test
在项目实施中当我们要发布一个项目时候一般需要经过如下几步
1 更新svn代码
2 maven打包
3 停止tomcat
4 copy war包到tomcat下
5 启动tomcat
为了简化流程我们可以编写shell脚本一键完成。
本博客将一步一步讲解如何完成这样的脚本。
基本软件:svn maven tomcat jdk
jdk tomcat 安装这里就不介绍了。
第一步安装svn客户端
1下载svn客户端 subversion-deps-1.6.12.tar.bz2subversion-1.6.12.tar.bz2 点击下载
2解压软件:# tar jxvf subversion-deps-1.6.12.tar.bz2
# tar jxvf subversion-1.6.12.tar.bz2
3 准备安装
创建一个svn的配置目录
# mkdir /usr/svn-client/subversion
目录结构如下:
切换到subversion-1.6.12下 # cd subversion-1.6.12
4 安装
# ./configure --prefix=/opt/svn-client/subversion
# make && make install
5 测试
看的上面信息说明安装成功
6 更新代码
下载代码指令:svn checkout path 简写为svn co path
例如:# svn checkout svn://localhost/pro/project
第一次更新会提示你输入root 密码 这时可以随便输入一个密码,然后会再次提示你输入用户名然后输入你的svn用户名 然后会提示你输入密码输入你的密码就可以了
更新代码指令:svn update
首先要进入的要更新代码的目录然后执行 svn update或者直接使用指令svn update -r m path
7 其他指令可以自己百度去学习这里只用到这两个指令
第二步骤安装maven
1 下载maven 点击下载2 解压tar zxvf apache-maven-3.0.5-bin.tar.gz解压后:
3 配置maven安装目录
在/etc/profile文件后加入下面内容
export MAVEN_HOME=/opt/maven/apache-maven-3.0.5
export PATH=${MAVEN_HOME}/bin:${PATH}
4 让配置生效
#source /etc/profile
5 验证
# mvn -v
6 mvn 打包
切换到svn下载的项目路径使用命令:mvn install -Dmaven.test.skip=true
出现下面信息表示打包成功,例子中打出的是jar war也是一样的
Ps:在打包过程中你可能会遇到这样的错误
原因是缺少maven插件所需要的jar包 解决办法 你可以直接在项目中加入插件的jar包依赖,版本根据你的maven版本做相应修改,报错的地方会提示你。
<dependency> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.10</version> </dependency> <dependency> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>2.5</version> </dependency> <dependency> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.3.2</version> </dependency>
第三步编写脚本
脚本步骤和我们手工流程是一致的1 更新svn代码
2 maven打包
3 停止tomcat
4 copy war包到tomcat下
5 启动tomcat
1 新建脚本文件:vi test 文件内容如下:
#!/bin/sh #项目的svn地址 svn_path="svn:localhost/project" #tomcat路径你tomcat的安装路径 tomcat_path="/opt/tomcat7/" #本地代码位置代码路径 code_path="/opt/code/" #项目名称 projectName="dms_restaurant" env="dev" #svn账号你的svn账号 svn_user="xxxxxxxxxxxxx" #svn密码你的svn密码 svn_pass="***************" #如果项目文件夹不存在说明没有下载过改项目代码,需要检出该项目 if [ ! -d ${code_path}${projectName} ]; then echo ${projectName}"不存在,检出该项目" cd $code_path svn checkout $svn_path --username $svn_user --password $svn_pass --no-auth-cache else echo ${projectName}"存在,更新代码" cd ${code_path}${projectName} svn update --username $svn_user --password $svn_pass --no-auth-cache fi #项目依赖的基础项目dms_util jar更新 如果有依赖项目的话 if [ ! -d ${code_path}dms_util ]; then echo "dms_util不存在,检出该项目" cd $code_path svn checkout "https://svn.sinaapp.com/dms2015/1/dms_util" --username $svn_user --password $svn_pass --no-auth-cache else echo "dms_util存在,更新代码" cd ${code_path}"dms_util" svn update --username $svn_user --password $svn_pass --no-auth-cache fi #mav 打包首先打基础jia包 util 如果有依赖项目的话 echo "maven 生成jar 基础依赖包 dms_util.jar" cd ${code_path}"dms_util" mvn install -Dmaven.test.skip=true -Denv=$env -U #如果打包出错直接退出 if [ $? -ne 0 ]; then exit 1 fi #mav 再打项目包 echo "maven 生成项目war包${projectName}" cd ${code_path}${projectName} mvn install -Dmaven.test.skip=true -Denv=$env -U #如果打包出错直接退出 if [ $? -ne 0 ]; then exit 1 fi #关闭tomcat cd "${tomcat_path}bin" ./shutdown.sh #删除项目 rm -r "${tomcat_path}webapps/${projectName}" rm "${tomcat_path}webapps/${projectName}.war" #复制打包好的项目带tomcat下面 cp "${code_path}${projectName}/target/${projectName}.war" "${tomcat_path}webapps/" #启动tomcat cd "${tomcat_path}bin" ./startup.sh
2编译代码 chmod -x test
执行脚本 ./test
相关文章推荐
- 傻瓜式一键发布
- 使用Bash编写Linux Shell脚本-2.使用外壳语言
- LINUX IPTABLES 设定
- Centos7 安装mysql数据库
- 运维系列之二 Linux文件种类和扩展名
- Linux链接库四(多个库文件链接顺序问题)
- 使用Bash编写Linux Shell脚本-4.脚本初探
- Linux链接库三(C跟C++之间动态库的相互调用)
- Linux链接库二(动态库,静态库,库命名规则,建立个没有版本号的软连接文件)
- Linux --进程间通信--管道
- linux nano使用
- Linux内核树的建立-基于ubuntu系统
- linux 安装pip
- linux常用快捷键
- 每天一个linux命令(61):wget命令
- Linux链接库一(动态库,静态库,库放在什么路径下)
- CentOS 7.0安装配置LAMP服务器篇一:安装centos7
- linux iconv字符编码批处理方式转换
- chromium编译过程记录
- linux基础命令之:last命令学习