观看视频教程

如果您已在 GitHub (github.com) 或 BitBucket (bitbucket.org) 中使用某个远程 repository,该方案则很有帮助。在此情况下,您发送更改到该远程 repository,然后 Plesk 会从远程 repository pull 这些更改并将其部署到您的网站上。

克隆 Git Repository

您可以克隆一个远程的 repository 来创建 Git repository。转到 网站与域名 并单击 Git 。如果您已经为您的域名创建了 Git repositories,请点击 添加 Repository 按钮。您将会看到创建新的 repository 的屏幕:

image-76919.png

首先,您必须选定在哪儿存储您的代码。在此情况下,请点击 GitHub 或 BitBucket 等远程 git 主机.

远程的 Git repository. 输入 BitBucket 或 GitHub 中远程 repository 的路径。您可以通过HTTPS或SSH格式进入。不支持HTTP/HTTPS验证,因此只有在repository不需要验证的情况下才能使用 HTTP/HTTPS 协议。如果使用了私人Git repository,则必须使用由Plesk生成的 SSH 密钥进行验证(请参阅 使用 SSH 连接 了解详情)。

您的网站 部分指定以下项:

  • 部署模式。默认会使用 自动部署 。这表示所有被 push 到 Git repository 的更改都会自动被部署到生产环境下的站点。如果您想要更改部署模式,请点击 自动部署 链接在打开的 部署模式 窗口中选择其它的选项。如果您选择了 手动部署 ,您将需要手动从 Git 库部署文件到您的主机。如果选择 不部署 ,文件将不会部署到生产环境下的站点(这可能会对代码存储和交换有用)。

    image-76254.png

  • 用于在您的网站上发布 Git 文件的目标目录。默认会使用 /httpdocs 目录。您可以点击其它现有目录的名称将更改部署到其它的目录。

    image-76255.png

点击 确定 。Plesk 将会尝试连接远程的repository 并对其克隆。

image-76455.png

在进度对话框显示克隆已成功完成后,将会 Git 页面显示新的repository。

image-76456.png

新的repository 将会在 网站与域名 > Git 上显示。远程 repository 的名称被用作 Git repository 名称。您可以之后重命名 repository(请参阅 重命名或移除 Repository 部分)。

已创建的 repository 是远程 repository 的克隆版本,将会用于从其 pull 更改,然后将更改部署到目标目录。

image-76920.png

使用SSH连接

您可以使用SSH连接远程的Git repository。在此情况下,添加新的 repository时,请以SSH格式指定远程repository的URL。将会出现 SSH 公共密钥 字段,显示由 Plesk自动生成的SSH公共密钥。

image-77959.png

在点击该屏幕上的 确定 之前,您必须要将该SSH密钥添加到远程的Git repository的设置中。详情请查看为 GitHubBitbucket 添加 SSH 密钥的文档。

Pull 和部署文件

您commit网站文件并将文件push 到远程的 repository后,进入 网站与域名 点击repository名称旁的 以Pull 方式更新 按钮。来自远程 repository 的更改将会被 pull 到克隆的 Git repository 中。

您可以在 网站与域名 > Git 处看到上一次commit信息。

默认 Plesk 会使用 自动部署 模式。这表示在文件被 push 到 repository 后,会立即被部署到目标目录(必要时可禁用该模式,请参阅 选择部署模式 部分)。

例如,如果已经 pull 一个 index.html 文件(该文件带有文本 “Hello! Welcome to my site”),则可以立即点击网站 URL 查看更改。

image-76922.png

更改 branch 或路径

从新的 branch 部署

正常不会在一个 repository 中操作多个 branches。一个时间段内只能有一个活动的 branch。默认会将 branch 用于部署。

若要添加新的 branch,您需要在远程 repository 中创建一个 branch 然后 pull 更改。此后,您可以在 Plesk 中的两个或多个活动的 branches 中选择一个。进入 网站与域名 > Git ,点击 更改 branch 和路径 ,然后在打开的窗口中于 Branch 菜单中选择branch名称。

image-76275.png

如果您选择一个新的 branch 并点击 确定 ,Plesk 将会显示新的活动的 branch。

image-76923.png

更改部署路径

默认会将 /httpdocs 目录用于在网站上发布 Git 文件。如果您想要更改部署路径,请进入 网站与域名 > Git ,点击 更改 branch 和路径 链接,在打开的窗口中选择新的目录。

image-76278.png

选择部署模式

您可以为您的 repository 选择部署模式。进入 网站与域名 > Git ,点击 Repository 设置 并在 选择部署模式 处选择一个选项:

  • 自动部署. 如果您希望 Plesk 立即部署所有更改到生产环境下的站点请选择该选项。

  • 手动部署. 您将需要点击 从 Repository 部署 按钮(在 网站与域名 > Git 下)。您还可以点击 网站与域名 页面上 repository 名称旁的 Deploy 按钮手动部署文件。

  • 无部署(repository 主机) 。在此情况下,文件将不会部署到生产环境下的站点。如果您只是使用 Git repository 存储和交换代码可考虑该选项。

    image-76924.png

将 Webhooks 用于自动 Pull

您可以使用 webhooks 配置您的远程 repository 以通知 Plesk 有关某些事件的信息,例如,push 文件到 repository。详情请参阅管理 BitBucketGitHub 中的 webhooks 的文档。

会自动为 repository 生成 Webhook URL。若要查看 Webhook URL,请点击 Repository 设置

image-76927.png

复制 webhook URL,将其添加到您的远程 repository 并将其配置可在 push 到 repository 的情况下被触发。因此每次 push 文件到远程 repository 时,Plesk 都将会通知有关 push 事件的信息,将会自动 pull 文件,因而您无需再点击 以 Pull 方式更新 按钮。如果为某个 repository 配置了自动部署,被 pull 的文件将立即被部署到网站。

注解: 如果Plesk是通过自签名证书保护安全的,如果通过HTTPS协议调用webhook可能会因SSL/TLS握手问题而不工作。如果是此种情况,请在webhook URL中指定 HTTP协议。

启用其它的部署操作

在很多情况下,文件发布还不足以完成网站的部署。例如,如果您正使用 Ruby on Rails 等框架,您可能需要在部署后使用如  bin/rails db:migrate 之类的命令运行数据迁移。

Plesk 支持定义每次部署文件到网站后将要运行的其它命令。

进入 网站与域名 > Git ,点击 Repository 设置 ,选择 启用其它的部署操作 ,并输入一个或多个在每次部署repository 内容时需运行的shell命令。每个独立的命令各占一行。

image-76929.png

注解: 如果禁用系统用户在 Linux 上使用 SSH,所有指定的命令将在 chrooted 环境中运行。订阅的系统用户的主目录会被当做该订阅的文件系统根,不会运行 chroot jail 外的可执行文件。例如,如果您站点的路径是 /var/www/vhosts/example.com/httpdocs ,那么在 chrooted 环境中的路径则是 ./httpdocs ,因此您将无法在超出 /httpdocs 目录一级的目录中执行命令。

查看提交日志

若要查看当前 branch 的整个commit历史,请进入 网站与域名 > Git ,点击 Commit 日志 链接。对于每个提交记录,将会显示以下信息:时间、唯一的标识符、用户名称和提交信息。单击 刷新 以更新commit日志。

image-76930.png

您可以按任何参数过滤commit日志 例如,您可以找到某个用户某个日期在哪里提交的信息。请点击 image-76269.png 按钮,输入搜索参数,点击 搜索

image-76931.png

重命名或移除 Repository

您可以在任何时候重命名 repository。例如,如果您已完成了开发,您可能想要将 repository 名称从 website-dev 更改为 website 以避免混淆。进入 网站与域名 > Git ,点击 Repository 设置 ,在 Repository 名称 字段输入新的名称。

如果您想要移除 repository,请点击 移除 Repository 链接(在 Git 屏幕上)。在此情况下,Plesk 将只会移除 repository,而带有发布数据的目标目录则保持原样。