使用本地 repository

觀看視頻教程

在該情況下,您從本地 repository 發送更改到 Plesk,然後 Plesk 會將這些更改部署到您的網站上。

在本章中:

創建 Git repository

Push 和部署檔

更改 branch 或路徑

選擇部署模式

啟用其它的部署操作

查看提交日誌

重命名或移除 Repository

 

創建 Git repository

若要為您的域名創建一個新的 Git repository,請進入網站與域名 點按Git。如果您已經通過 Plesk 為您的域名創建了 Git repositories,請點按 添加 Repository 按鈕。您將會看到創建新的 repository 的螢幕:

Git_local_create

首先,您必須選定在哪兒存儲您的代碼。在該方案中,請選擇 您的工作站上的本地 repository

Plesk 中的 Git Repository。指定 repository 名稱。默認域名使用 .git 尾碼。

您的網站 部分指定以下項:

  • 部署模式。默認會使用 自動部署。這表示所有被 push 到 Git repository 的更改都會自動被部署到生產環境下的網站。如果您想要更改部署模式,請點按 自動部署 連結在打開的 部署模式 視窗中選擇其它的選項。如果您選擇了 手動部署,您將需要手動從 Git 庫部署檔到您的主機。如果選擇 無部署,檔將不會部署到生產環境下的網站(這可能會對代碼存儲和交換有用)。

    Git_push_Deployment_mode

  • 用於在您的網站上發佈 Git 檔的目標目錄。預設會使用 /httpdocs 目錄。您可以點按其它現有目錄的名稱將更改部署到其它的目錄。

    Git_push_Deployment_path

點按 確定。將會創建新的 repository 且會在 Git 頁面上顯示。

Git_local_created

顯示的 repository URL 取決於您使用的資料傳輸協定。您可以選擇下面的協議:

  1. SSH(僅限於 Linux)- 如果為域名啟用了 SSH 主機存取權限會預設使用該協定。若要設定通過SSH存取域名,請進入網站與域名> 主機存取通過SSH存取伺服器功能表中選擇/bin/bash /bin/sh。 在此情況下,repository URL 類似於 user1@example.net:~/repos/example.git
  2. HTTPS - 如果禁止 SSH web 存取且為域名配置了 SSL/TLS 則預設使用該協定(主機設定 >SSL/TLS 支援)。在此情況下,URL 類似於 https://user1@example.net/plesk-git/example.git
  3. HTTPS - 如果禁止 SSH web 存取且沒有為域名配置 SSL/TLS 則預設使用該協議。在此情況下,repository URL 類似於 http://user1@example.com/plesk-git/example.git

根據 幫助 連結中的說明初始化本地 repository。

Git_How_To

當 repository 被初始化時,您可以在 網站與域名 > Git 上看到commit資訊和活動的 branch名稱。默認會將 branch 用於 Plesk。您可以稍後添加更多的 branches(請參閱 更改 Branch 或路徑 部分)。

Git _init_commit

現在您可以從本地 repository 提交您的網站檔並將其 push 到伺服器 repository。

 

Push 和部署檔

當您從本地 repository 提交您的網站檔並將其 push 到伺服器 repository 時,您可以在 網站與域名 > Git頁面上看到commit資訊。

Git_local_commit

默認 Plesk 會使用 自動部署 模式。這表示在檔被 push 到 repository 後,會立即被部署到目標目錄(必要時可禁用該模式,請參閱 選擇部署模式 部分)。

例如,如果您提交並 push 一個 index.html 檔(該檔帶有文本 “Hello! Welcome to my site.”)到 Git repository,您可以立即點按網址 URL 查看更改:

Git_website

 

更改 branch 或路徑

從新的 branch 部署

正常不會在一個 repository 中操作多個 branches。一個時間段內只能有一個活動的 branch。默認會將branch 用於部署。

若要再添加一個 branch,您需要在您的本地 repository 中創建一個。例如,您可以使用以下命令添加 dev branch:

git branch dev

git checkout dev

然後提交文件到該 branch 並 push 到伺服器的 repository,命令如下:

git commit –m "changes to branch"

git push –u origin dev

現在您則可以在兩個活動的 branches 中選擇一個。進入 網站與域名 > Git,點按 更改 branch 和路徑 連結,在打開的視窗中於Branch 功能表中選擇branch名稱。

Git_push_change_branche

如果您選擇一個新的 branch 並點按 確定,Plesk 將會顯示新的活動的 branch。

Git_local_branch

更改部署路徑

默認會將 /httpdocs 目錄用於在網站上發佈 Git 檔。如果您想要更改部署路徑,請點按 更改 branch 和路徑 連結,在打開的視窗中,選擇新的目錄。您還可以點按 創建新的資料夾 按鈕創建新的目錄。

Git_push_change_folder

 

選擇部署模式

若要為您的repository選擇部署模式,請點按 Repository 設定選擇部署模式 中選擇所需選項:

  • 自動部署. 檔將會在被 push 到 Plesk repository 後立即部署到生產環境下的網站。
  • 手動部署. 您將需要通過點按從Repository部署按鈕(位於 網站與域名> Git)手動部署文件。您還可以點按 網站與域名頁面上 repository 名稱旁的 Deploy 按鈕手動部署檔。
  • 無部署(repository 主機)。檔將不會部署到生產環境下的網站。如果您只是使用 Git repository 存儲代碼可考慮該選項。

    Git_local_select_deploy_mode

 

啟用其它的部署操作

在大部分情況下,檔發佈還不足以完成網站的部署。例如,如果您正使用 Ruby on Rails 等框架,您可能需要在部署後使用如  bin/rails db:migrate 之類的命令運行資料移轉。

Plesk 支援很多在部署檔到網站後需要執行的其它操作。

進入網站與域名 > Git,點按 Repository 設定,選擇 啟用其它的部署操作 並指定一個或多個部署 repository 時應運行的 shell 命令。每個命令需占一行。

Git_local_actions

注意:如果禁用用戶在 Linux 上使用 SSH,所有指定的命令將在 chrooted 環境中運行。訂閱的系統使用者的主目錄會被當做該訂閱的檔案系統根,不會運行 chroot jail 外的可執行檔。例如,如果您網站的路徑是 /var/www/vhosts/example.com/httpdocs,那麼在 chrooted 環境中的路徑則是 ./httpdocs,因此您將無法在超出 /httpdocs 目錄一級的目錄中執行命令。

 

查看提交日誌

若要查看當前 branch 的整個commit歷史,請進入 網站與域名 > Git,點按Commit 日誌 連結。對於每個提交記錄,將會顯示以下資訊:時間、唯一的識別字、用戶名稱和提交資訊。按一下刷新以更新提交日誌。

Got_Commit Logs

您可以按任何參數過濾提交日誌 您可以查找到某個用戶自某個日期起所有的 commit情況。請點按 Git_Commit_Logs_search_Buttom 按鈕,輸入搜尋參數,點按 搜尋

Git_Commit Logs_filter

 

重命名或移除 Repository

您可以在任何時候重命名 repository。例如,如果您已完成了開發,您可能想要將 repository 名稱從 website-dev 更改為 website 以避免混淆。進入網站與域名 > Git,點按Repository 設定,在 Repository 名稱 欄位輸入新的名稱。

注意重命名 repository 後,您應配置您的本地 repository 匹配新的 repository URL,命令如下:

git remote set-url origin [new URL]

例如,如果您將 repository 從 example 更名為 example1,請運行以下命令:

git remote set-url origin user1@example.com:~/repos/example1.git

如果您想要移除 repository,請點按 移除 Repository 連結(在 網站與域名 > Git 下)。在此情況下,Plesk 將只會移除 repository,而帶有發佈資料的目標目錄則保持原樣。

 

Leave your feedback on this topic here

If you have questions or need support, please visit the Plesk forum or contact your hosting provider.
The comments below are for feedback on the documentation only. No timely answers or help will be provided.