git自動部署到服務器


1、現在服務器配置空倉庫

mkdir -p test/project.git
chmod 777 test
cd test/project.git/
git init --bare .
cd ..
chown gituser:gituser -R project.git 

  2、再本地初始化倉庫並且添加遠程倉庫

mkdir -p project 
cd project
git init 
git config user.email "wzp@
git add 1.txt 
git commit -m "add 1.txt"
git remote add test git@192.168.0.1:/home/www/project.git //添加遠程倉庫還沒有提交過,所以要先提交一次. test為遠程命名,隨意 

  3、設置鈎子

在project.git/hooks目錄下有很多腳本文件的示例
查看post-receive.sample文件是否存在如果存在
cp post-receive.sample post-receive
不存在
touch post-receive
sudo vi post-receive # 寫入下面腳本


#!/bin/bash

#指定我的代碼檢出目錄
DIR=/home/wwwroot/sowork/test #不能包含當前的目錄,要另外一個目錄
git --work-tree=${DIR} clean -fd
#直接強制檢出
git --work-tree=${DIR} checkout --force





修改該文件所有者為git用戶(上面安裝git創建的用戶)
sudo chown git:git post-receive
sudo chomd +x post-receive # 添加執行權限

然后當你push的時候就會將文件檢出到你指定網站目錄下
在git客戶端push的話可以得到反饋,如果失敗,可能是權限造成的

  4、之后再本地提交之后就會自動部署到對應的網站目錄


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM