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
相關文章
相關標籤/搜索