在做项目时,我们都是在本机进行开发,开发好了之后在远程服务器上部署,但是难免会碰到一些小BUG的修修改改,然后就需要重新发布一下项目,每次都从本机打包,然后在登录到远程服务器是一个很麻烦的事情,

   下面我们采用shell来发布项目到指定服务器的指定目录,直接帖脚本,脚本中注释已经很清晰

#!/bin/bash#XXX项目的发布脚本#临时储存项目的目录publish_dir='/var/tmp/publish'#定义项目的svn地址svn_path='http://192.168.12.143:14302/svn/project'#定义私钥文件的地址,注意私钥文件的权限必须降到600private_key='/root/.ssh/gongzheng'#总是删除历史目录if [ -d ${publish_dir} ];then    rm ${publish_dir} -rffi#创建目录,导出svn目录,并打包文件mkdir -p ${publish_dir} && cd ${publish_dir}echo '检出project项目文件'svn export ${svn_path} --force ./ --username svn的用户名 --password svn的密码 --no-auth-cacheecho '删除项目中的配置文件,删除项目中的cache文件'rm ${publish_dir}/config.inc.php -rfrm ${publish_dir}/Temp/*.dev.cache -rfecho '打包项目文件到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