前幾天學習了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