簡體   English   中英

如何使用git部署以測試服務器?

[英]How can I use git to deploy to test server?

幾年前,我曾使用過redhat的開放式班次。 更新服務器的方法是通過推送到git repo。 推送更改后,您可以在瀏覽器中測試您的應用。

我想在我的一個虛擬機中實施該測試。 這樣,每當我推送到倉庫時,測試人員就可以立即看到我的更改。 我正在雲VM中進行測試,因為要進行測試的人員在另一個國家。 我正在使用nginx,pm2,nodejs和express。

我了解我可以SSH到服務器,進行更改,重新啟動pm2。 但是,如果有一種更自動化的方法,那會更好。

您所描述的稱為連續集成/連續部署,通常稱為CI / CD。 有專門為此目的設計的工具。 兩個主要參與者是jetbrains的TeamCity(根據您描述的項目大小免費使用)和Jenkins(開源)。 我建議您搜索使用這兩種產品之一的CI / CD教程。

您可能想研究服務器端的git掛鈎。 您可以在收到git push時在服務器上執行bash腳本,並執行更新服務器所需的一切。

簡要介紹一下:

鈎子可以在.git/hooks下找到。 在這里您將找到以下文件:

  • 推樣前
  • commit-msg.sample
  • re-rebase.sample
  • 更新后樣本
  • prepare-commit-msg.sample
  • pre-applypatch.sample
  • 更新樣本
  • 提交前樣本

舉個例子,在服務器上,如果將以下內容添加到更新后掛鈎中,則服務器將在收到提交時向您發送電子郵件:

#!/bin/bash
git show --name-status | mail -s "Received Push" youremail@email.com

在此文件中,您可能想編寫腳本以使用新接收的數據重建網站!

暫無
暫無

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

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