成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

git利用post-receive自動化部署

paulli3 / 3235人閱讀

摘要:要求實現(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

相關(guān)文章

  • Git 自動部署網(wǎng)站

    摘要:以上命令表示到網(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...

    entner 評論0 收藏0
  • 搭建Git服務(wù)器、編寫自動部署腳本

    摘要:搭建服務(wù)器編寫自動部署腳本今天試了下在服務(wù)器上搭建服務(wù)器,并且編寫一個簡單的自動部署腳本。好了,試試吧原文連接搭建服務(wù)器編寫自動部署腳本更多分享知識點請掃碼關(guān)注 搭建Git服務(wù)器、編寫自動部署腳本 showImg(https://segmentfault.com/img/bVbs9fB?w=675&h=221); 今天試了下在linux服務(wù)器上搭建Git服務(wù)器,并且編寫一個簡單的自動部...

    jollywing 評論0 收藏0
  • 如何在服務(wù)器上搭建hexo博客

    原文鏈接 隨著Vateral主題的開發(fā)接近了尾聲,在對主題速度優(yōu)化的時候發(fā)現(xiàn)之前用的githubpage問題多多:首先就是因為在國內(nèi)的原因,訪問速度本身就很慢,曾經(jīng)有次加載一張16kb的圖標時間耗費了26s?。??其次,在對資源做CDN托管加速時,域名是需要備案的,顯然githubpage也是做不了的;所以果斷舍棄了這個把hexo搭建到了我的阿里云服務(wù)器上 總體來說還是比把hexo搭建到github...

    MycLambert 評論0 收藏0
  • 阿里云VPS搭建自己的的Hexo博客

    摘要:博客的架構(gòu)先搞明白博客從搭建到自動發(fā)布的架構(gòu),才能更好的理解我們每一步進行的操作。整個搭建流程第一部分服務(wù)器環(huán)境搭建,包括安裝配置創(chuàng)建用戶。在裸庫的文件夾中,新建文件。 1. 博客的架構(gòu) 先搞明白Hexo博客從搭建到自動發(fā)布的架構(gòu),才能更好的理解我們每一步進行的操作。不然只跟著步驟過了一遍,卻不知道為什么這么做。 首先看這張架構(gòu)圖:showImg(https://segmentfaul...

    hizengzeng 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<