shell脚本建立git仓库并实现自动化部署

前几天学习了linux搭建git服务器及自动化部署,周末没事研究下怎么使用shell脚本实现,这样之后使用的时候也方便linux

#!/bin/bash

read -p "请输入项目名称:" name

if [ "$name" = "" ];then
    echo "项目名称为空,中止执行"
    exit
fi

# git目录
git_dir="/git/$name"
# git仓库
git_repository="/git/$name/$name.git"
# web文件目录
web_dir="/home/wwwroot/$name"
# 钩子文件
file_path="$git_repository/hooks/post-receive"



# 建立并修改web文件目录全部者
if [ ! -d "$web_dir" ];then
    mkdir $web_dir
    echo "$web_dir文件夹建立成功"
else
    echo "$web_dir文件夹已存在"
fi
chown -R git:git $web_dir

# 建立git目录
if [ ! -d "$git_dir" ];then
    mkdir $git_dir
    echo "$git_dir文件夹建立成功"
else
    echo "$git_dir文件夹已存在"
fi
chown git:git $git_dir

# 建立git仓库
if [ ! -d "$git_repository" ];then
    git init --bare $git_repository
    echo "仓库$git_repository建立成功"
else
    echo "仓库$git_repository已存在"
fi
chown -R git:git $git_repository

# 建立git钩子文件
touch $file_path
echo "git --work-tree=$web_dir --git-dir=$git_repository checkout -f" > $file_path
chown -R git:git $file_path
chmod +x $file_path
if [ -f "$file_path" ];then
    echo "钩子文件建立成功"
else
    echo "钩子文件建立失败"
fi
相关文章
相关标签/搜索