git

源代码 主页

启用方式
git:github.com/miekg/coredns-git

git - 拉取 git 仓库。

说明

git 会将 git 仓库克隆到站点中。这样就可以通过简单的 git 推送部署区域。

git 插件会在服务器生命周期内启动一项服务例程。此项服务在启动时会克隆仓库。当服务器仍处于运行状态时,此服务会定期拉取最新代码。你还可以设置 Webhook,以便在推送后立即拉取。与常规的 git 操作方式类似,拉取仅包含更改,因此效率很高。

如果拉取失败,此项服务会重试最多三次。如果到那时仍未成功拉取,服务就不会再尝试,直到下一个间隔。

此插件需要在系统上安装 git

不支持 Webhook,这是一个纯拉取模型。

语法

git REPO [PATH]
  • REPO 是指向仓库的 URL;支持 SSH 和 HTTPS URL

  • PATH 是仓库的克隆路径,相对于站点根目录;默认是站点根目录

该简化语法每 3600 秒(1 小时)从 master 分支拉取一次,并且仅适用于公共仓库。

如果需要更多控制或使用私有仓库,请使用以下语法

git [REPO PATH] {
	repo        REPO
	path        PATH
	branch      BRANCH
	interval    INTERVAL
	args        ARGS
	pull_args   PULL_ARGS
}
  • REPO 是指向仓库的 URL;仅支持 HTTPS URL。

  • PATH 是要将仓库克隆到的路径;默认是站点根目录(如果已设置)。它可以是绝对路径,也可以是相对路径(相对于站点根目录)。请参阅root 插件。

  • BRANCh 是要拉取的分支或标签;默认是 master 分支。{latest} 是最新标签的占位符,可确保始终拉取最新的标签。

  • INTERVAl 是两次拉取之间的秒数;默认是 3600(1 小时),最小值为 5。-1 表示禁用定期拉取。

  • ARGS 是要传递给 git clone 的其他 cli 参数,例如 --depth=1。当首次获取源时,会调用 git clone

  • PULL_ARGS 是要传递给 git pull 的其他 cli 参数,例如 -s recursive -X theirs。在更新源时使用 git pull

示例

每小时将公共仓库拉取到站点根目录

git github.com/user/myproject

将公共仓库拉取到站点根目录中的 “subdir” 目录

git github.com/user/myproject subdir

另请参阅

用于设置根目录的root 插件。