前几天学习了linux搭建git服务器和自动部署。周末没事研究一下如何用shell脚本实现,方便以后使用#!/bin/bashread-p"请输入项目名称(默认项目路径:/www/wwwroor;默认git仓库目录:/git;如果不匹配,请修改脚本):"nameif["$name"=""];thenecho"项目名称不能为空"exitfi#gitdirectorydir_name="/git/$name"#git仓库目录git_dir="/git/$name/$name.git"#web文件目录web_dir="/www/wwwroot/$name"#hook文件file_path="$git_dir/hooks/post-receive"#创建并修改web文件目录属主mkdir$web_dirchown-Rgit:git$web_dir#创建git目录mkdir$dir_namechowngit:git$dir_name#创建git仓库gitinit--bare$git_dirchown-Rgit:git$git_dir#创建一个githook文件touch$file_pathcho"git--work-tree=$web_dir--git-dir=$git_dircheckout-f">$file_pathchown-Rgit:git$file_pathchmod+x$file_path#localipip=$(wget-qO-ifconfig.co)#ssh端口端口=$(netstat-ntlp|awk'!a[$NF]++&&$NF~/sshd$/{sub(".*:","",$4);print$4}')#Outputgidaddressecho"Projectgitaddress:ssh://git@$ip:$port/git/$name/$name.git"
