您的位置:首页 > 运维架构 > Shell

采用shell发布SVN项目到远程服务器

2014-03-11 15:39 267 查看
在做项目时,我们都是在本机进行开发,开发好了之后在远程服务器上部署,但是难免会碰到一些小BUG的修修改改,然后就需要重新发布一下项目,每次都从本机打包,然后在登录到远程服务器是一个很麻烦的事情,
下面我们采用shell来发布项目到指定服务器的指定目录,直接帖脚本,脚本中注释已经很清晰
#!/bin/bash
#XXX项目的发布脚本
#临时储存项目的目录
publish_dir='/var/tmp/publish'
#定义项目的svn地址
svn_path='http://192.168.12.143:14302/svn/project'
#定义私钥文件的地址,注意私钥文件的权限必须降到600
private_key='/root/.ssh/gongzheng'
#总是删除历史目录
if [ -d ${publish_dir} ];then
rm ${publish_dir} -rf
fi
#创建目录,导出svn目录,并打包文件
mkdir -p ${publish_dir} && cd ${publish_dir}
echo '检出project项目文件'
svn export ${svn_path} --force ./ --username svn的用户名 --password svn的密码 --no-auth-cache
echo '删除项目中的配置文件,删除项目中的cache文件'
rm ${publish_dir}/config.inc.php -rf
rm ${publish_dir}/Temp/*.dev.cache -rf
echo '打包项目文件到project.tat.gz'
tar -zcvf project.tar.gz ./*
#使用scp命令上传压缩包到服务器
scp -i ${private_key} -P 22022 project.tar.gz root@xxx.xxx.xxx.xxx:/root
实际开发中,只需要修改shell中定义的几个变量、以及目的服务器的IP

本文出自 “随网互联” 博客,请务必保留此出处http://suiwnet.blog.51cto.com/2492370/1372604
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: