如何使用GIT將網站部署到遠程服務器

如何使用GIT將網站部署到遠程服務器

Posted by Git on 2019-10-14 23:00:00

這是一個循序漸進的教程,教您如何利用git將網站部署到遠程服務器。它將指導您完成每個步驟。熟悉GitLinux Shell是一個加分,但不是強制性的。

工作

1.登錄到服務器

使用以下命令打開終端並登錄到服務器:

ssh your_user@server_ip_address
  • server_ip_address替換為服務器的實際IP地址
  • 用實際的用戶名替換your_user。默認情況下,用戶名與主機相同,除非您指定其他代理。

輸入您的密碼,然後…您現在已登錄到服務器。

2.安裝GIT

要在您的服務器上安裝git,請一次將以下命令複製到終端,然後單擊Return。如果出現提示,請輸入密碼。

sudo apt-get更新
sudo apt-get安裝git

3.為您的代碼創建一個文件夾

您網站的源代碼需要放在某個地方。按照慣例,代碼位於/var/www目錄內。使用以下內容導航到那裡:

cd / var / www

現在,創建一個新文件夾以放置源代碼。在本教程中,它將被稱為website_folder。

mkdir website_folder

現在,放置源代碼的完整路徑是/var/www/website_folder/。記住此路徑很重要,因為在設置git存儲庫時將需要它。

4.在服務器上初始化一個git倉庫

git存儲庫需要一個文件夾來託管它。一個好的做法是調用該文件夾website_name.git。在中/var,創建一個名為repo的文件夾其中 將包含您的git存儲庫。其中之一將是website.git。為此,請運行以下命令:

mkdir -p /var/repo/website.git

現在,瀏覽/var/repo/website.git並初始化git存儲庫:

cd /var/repo/website.git/ 
git init --bare

Voilà…現在,您有了一個可供共享的倉庫。

5.創建掛鉤

一個掛鉤是一個程序,你可以在一個鉤子目錄的地方觸發混帳的執行在某些點的動作。

Git有多個掛鉤,可以在不同階段之後自動調用。您將使用存儲庫收到推送代碼後調用的post-receive掛鉤。

初始化git儲存庫後,新文件夾應顯示在中/var/repo/website.git/。導航到鉤子,並使用您喜歡的文本編輯器創建一個名為post-receive的新bash

cd鉤子
納米後接收

在新創建的文件內部,您需要告訴git將文件推送到何處。為此,請粘貼以下代碼:

#!/ bin / sh
git --work-tree = path_to_website_folder --git-dir = path_to_git_directory簽出-f name_of_branch
  • 用我們在第3點中創建的正確路徑替換path_to_website_folder/var/www/website_folder
  • 用裸git存儲庫的路徑替換path_to_git_directory,在本例中為/var/repo/website.git
  • name_of_branch是可選參數。如果未指定,則默認為master

您可以在腳本中選擇其他任何命令,例如重新啟動服務器。

使用退出編輯器ctrl+x,並確保將文件另存為post-receive

6.使腳本可執行

為了使操作系統執行腳本,後者需要具有可執行權限。為此,請運行以下命令:

chmod + x接收後

服務器上的工作已完成。現在,您只需運行logout並點擊即可註銷Return

7.將本地代碼推送到服務器

從您的終端,導航到您的本地文件夾,如果它還不是可以正常使用的git存儲庫,請將其初始化為一個。然後,為了配置git將代碼推送到遠程服務器,您需要將其指向其地址。

git初始化
git remote add name_of_repository ssh://您的用戶@ server_ip_address/path_to_git_directory
  • name_of_repository可以是您想要的任何名稱。它是遠程存儲庫的名稱。
  • server_ip_address替換為服務器的實際IP地址
  • 用實際的用戶名替換your_user。默認情況下,用戶名是root
  • 用裸git存儲庫的路徑替換path_to_git_directory,在本例中為var/repo/website.git/

現在,要將代碼推送到遠程服務器,只需在本地git存儲庫內部運行以下命令:

git push name_of_repository name_of_branch

輸入密碼,現在您的代碼已經生效,可以在以下位置找到 /var/www/website_folder