簡體   English   中英

使用Webhooks將Github版本部署到Node服務器

[英]Deploy Github release to Node server with webhooks

我已經在Github上為存儲庫設置了一個Webhook。 當我在Github中創建新版本時,我的Webhook接收器(在Node服務器上)會收到一個請求。 它的工作方式如下(使用Express):

app.post("/", function(req, res){  

  //request is not a github event
  if (req.headers["x-github-event"] != "release") return;

  //request is a pre-release
  else if (req.body.release.prerelease) deployToDev();

  //request is full release
  else if (!req.body.release.prerelease) deployToLive();

});

如您所見,它首先檢查請求是否包含github事件的標頭,其標值為release 如果一切都很好,它將檢查它是預發行版還是完整發行版,並觸發要部署到開發人員或現場的功能。

Webhook很好用,但是我正在努力尋找如何實際部署文件的方法。 是否使用某種FTP連接或Shell腳本執行此操作? dev和live目錄與webhook接收器位於同一服務器上。 做這個的最好方式是什么?

如果您已經在使用github,則一種簡單的部署方法是在目標計算機上簽出代碼。

一個折衷是目標計算機需要安裝git並具有從存儲庫讀取的憑據。

另一種選擇是執行您在問題中建議的操作:使用上面的節點程序下載存檔,然后使用選擇的協議將其傳輸到要部署的計算機上:FTP / ssh / rsync / scp等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM