shell脚本实现git仓库代码自动拉取 --- 2019-08

2019-08-16  本文已影响0人  一位先生_

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 {git_catalog[1]}
git pull origin master
mkdir -p {fabu_catalog[1]}/2 chown -R www:www{fabu_catalog[1]}/2
chmod -R 770 {fabu_catalog[1]}/2 cp -r{git_catalog[1]}/.{fabu_catalog[1]}/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 "{fabu_catalog[1]}/2"{dns_line[$1]}
echo '发布成功'
}

read -p '请输入发布项目 0:tp5 1:line 2:admin 3:admin_top 发布输入2:' project
echo -e "\n project" if [project == 0 ]
then
echo ''
elif [ project == 1 ] then echo '' elif [project == 2 ]
then
echo ''
elif [ project == 3 ] then echo '' else echo '待开发' exit 0 fi read -p '请输入事件 1:获取代码 2:发布 :' types echo -e "\ntypes"
if [ types == 1 ] then cd{fabu_catalog[project]} ls -l read -p '请输入发布版本号:' version echo -e "\nversion "
get_code projectversion
elif [ types == 2 ] then cd{fabu_catalog[project]} ls -l read -p '请输入发布版本号:' version echo -e "\nversion "
fabu projectversion
else
echo '待开发'
exit 0
fi

代码结束

1.如果出现git pull 无法拉取但是你可以再服务器上使用git命令拉取的话 那这是权限的问题 首先你要看下你php-fpm和nginx的所属用户是谁 使用你命令:
...

  1. php-fpm

cat /etc/usr/local/php/php-fpm.conf

  1. nginx

cat /etc/usr/local/nginx/conf/nginx.conf
...

2.再看你发布文件的权限和你项目的权限及其所属的用户存在问题不 只要解决了这些问题 就没有问题。

上一篇下一篇

猜你喜欢

热点阅读