shell脚本代码如下:(我命名为fabu.sh)
我这边配置了四个项目的-可根据自己情况配几个
代码开始
!/bin/bash
tp5的目录
git_catalog[0]="/home/wwwroot/tp5"
fabu_catalog[0]="/home/wwwroot/versionlist"
dns_A[0]='域名'
dns_line[0]='/home/www'
yaf的目录
git_catalog[1]="/home/wwwroot/yaf"
fabu_catalog[1]="/home/versionlist"
dns_A[1]='域名'
dns_line[1]='/home/yaf'
admin的目录
git_catalog[2]="/home/wwwroot/admin"
fabu_catalog[2]="/home/admin_list"
dns_A[2]='域名'
dns_line[2]='/home/admin'
admin_top的目录
git_catalog[3]="/home/wwwroot/admin_top"
fabu_catalog[3]="/home/admin_top_list"
dns_A[3]='域名'
dns_line[3]='/home/admin_top'
function get_code(){
cd 1]}
git pull origin master
mkdir -p 1]}/{fabu_catalog[2
chmod -R 770 1]}/{git_catalog[{fabu_catalog[2
if [ $1 == 0 ]||[ $1 == 1 ]||[ $1 == 2 ];
then
chmod -R 777 ${fabu_catalog[$1]}/$2/runtime/
chown -R www:www ${fabu_catalog[$1]}/$2/runtime/
chmod -R 777 ${fabu_catalog[$1]}/$2/public/
chown -R www:www ${fabu_catalog[$1]}/$2/public/
else
echo '获取代码成功'
fi
}
function fabu(){
ln -snf "1]}/{dns_line[$1]}
echo '发布成功'
}
read -p '请输入发布项目 0:tp5 1:line 2:admin 3:admin_top 发布输入2:' project
echo -e "\n project == 0 ]
then
echo ''
elif [ project == 2 ]
then
echo ''
elif [ types"
if [ {fabu_catalog[version "
get_code version
elif [ {fabu_catalog[version "
fabu version
else
echo '待开发'
exit 0
fi
代码结束
1.如果出现git pull 无法拉取但是你可以再服务器上使用git命令拉取的话 那这是权限的问题 首先你要看下你php-fpm和nginx的所属用户是谁 使用你命令:
...
- php-fpm
cat /etc/usr/local/php/php-fpm.conf
- nginx
cat /etc/usr/local/nginx/conf/nginx.conf
...
2.再看你发布文件的权限和你项目的权限及其所属的用户存在问题不 只要解决了这些问题 就没有问题。
网友评论