摘要:要求實現(xiàn)直接完成代碼部署到服務(wù)器的目錄實現(xiàn)方式利用的中的來實現(xiàn)代碼提交完成之后的動作。對于代碼部署目錄和倉庫我們已經(jīng)通過進行了關(guān)聯(lián)了,因為我們一旦將代碼到倉庫,那么會自動檢出到目錄下。
要求
實現(xiàn)git push 直接完成代碼部署到服務(wù)器的目錄
實現(xiàn)方式利用git的hooks中的post-receive來實現(xiàn)代碼提交完成之后的動作。將倉庫指定一個--work-tree然后進行檢出操作checkout --force
目錄結(jié)構(gòu)我自己的項目結(jié)構(gòu)是這樣的,每一個倉庫對應(yīng)一個項目,例如public/wx項目對應(yīng)repo/wx.git倉庫
. ├── public │?? └── wx // 這是我們的web代碼部署目錄 │?? ├── index.php │?? ├── test2.php │?? ├── test3.php │?? └── test.php └── repo // 這個是我們的倉庫目錄 └── wx.git // 這個對應(yīng)wx項目的倉庫 ├── branches ├── config ├── description ├── HEAD ├── hooks // post-receive鉤子代碼寫在這里面 ├── index ├── info ├── objects └── refs
再看下hooks文件目錄
. ├── applypatch-msg.sample ├── commit-msg.sample ├── post-commit.sample ├── post-receive ├── post-receive.sample ├── post-update.sample ├── pre-applypatch.sample ├── pre-commit.sample ├── prepare-commit-msg.sample ├── pre-rebase.sample └── update.sample
我們將post-receive.sample復(fù)制一份post-receive,并且編寫代碼如下
# 指定我的代碼檢出目錄 DIR=/www/public/wx git --work-tree=${DIR} clean -fd # 直接強制檢出 git --work-tree=${DIR} checkout --force如何生成目錄
上面看到的repo目錄中的wx.git實際上是一個裸倉庫,我們用下面的命令來生成這樣一個倉庫。
cd /www/repo git init --bare wx.git
對于代碼部署目錄和倉庫我們已經(jīng)通過post-receive進行了關(guān)聯(lián)了,因為我們一旦將代碼push到倉庫,那么會自動檢出到publish/wx目錄下。
遠程部署在本地電腦上,我們添加遠程倉庫
git init git remote add origin [email protected]:/www/repo/wx.git
這個時候我們添加了遠程倉庫,那么我們來測試下push操作
touch index.php git add . git commit -m "test" git push
可能會提示一個--set-upstream,直接執(zhí)行下就好了。執(zhí)行完之后我們登陸服務(wù)器,會發(fā)現(xiàn)文件已經(jīng)出現(xiàn)在public/wx/index.php
注意點如果我們沒有配置ssh免密碼登陸的話,我們需要在push代碼的時候輸入密碼
如果我們添加的遠程倉庫不是[email protected],例如是[email protected],那么我們要確保abc用戶對wx.git目錄下的文件有777權(quán)限。
新增倉庫需要登陸遠程服務(wù)器進行初始化repo_name.git倉庫
需要手動創(chuàng)建public/repo_name文件夾,并且修改權(quán)限為777
需要重新編寫hooks/post-recieve文件,修改里面的DIR路徑為public/repo_name
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/23255.html
摘要:以上命令表示到網(wǎng)站目錄,并更新。隨后還要把改成可執(zhí)行本地環(huán)境提交代碼至服務(wù)器 原理和流程 1、git用戶執(zhí)行 git push 操作 2、遠程倉庫發(fā)現(xiàn)有用戶執(zhí)行了push操作,就會執(zhí)行一個腳本 post-receive(鉤子) 3、在 post-receive 腳本中,將git倉庫的代碼拷貝到web站點目錄下 1、進入服務(wù)器安裝git,并建立倉庫 sudo yum install g...
摘要:搭建服務(wù)器編寫自動部署腳本今天試了下在服務(wù)器上搭建服務(wù)器,并且編寫一個簡單的自動部署腳本。好了,試試吧原文連接搭建服務(wù)器編寫自動部署腳本更多分享知識點請掃碼關(guān)注 搭建Git服務(wù)器、編寫自動部署腳本 showImg(https://segmentfault.com/img/bVbs9fB?w=675&h=221); 今天試了下在linux服務(wù)器上搭建Git服務(wù)器,并且編寫一個簡單的自動部...
原文鏈接 隨著Vateral主題的開發(fā)接近了尾聲,在對主題速度優(yōu)化的時候發(fā)現(xiàn)之前用的githubpage問題多多:首先就是因為在國內(nèi)的原因,訪問速度本身就很慢,曾經(jīng)有次加載一張16kb的圖標時間耗費了26s?。??其次,在對資源做CDN托管加速時,域名是需要備案的,顯然githubpage也是做不了的;所以果斷舍棄了這個把hexo搭建到了我的阿里云服務(wù)器上 總體來說還是比把hexo搭建到github...
摘要:博客的架構(gòu)先搞明白博客從搭建到自動發(fā)布的架構(gòu),才能更好的理解我們每一步進行的操作。整個搭建流程第一部分服務(wù)器環(huán)境搭建,包括安裝配置創(chuàng)建用戶。在裸庫的文件夾中,新建文件。 1. 博客的架構(gòu) 先搞明白Hexo博客從搭建到自動發(fā)布的架構(gòu),才能更好的理解我們每一步進行的操作。不然只跟著步驟過了一遍,卻不知道為什么這么做。 首先看這張架構(gòu)圖:showImg(https://segmentfaul...
閱讀 2421·2021-11-18 10:02
閱讀 1935·2021-10-13 09:40
閱讀 3013·2021-09-07 10:07
閱讀 2120·2021-09-04 16:48
閱讀 1017·2019-08-30 13:18
閱讀 2463·2019-08-29 14:03
閱讀 2931·2019-08-29 12:54
閱讀 3169·2019-08-26 11:41