使用本地 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.