如何将GitHub的dist文件夹同步至DirectAdmin并完成部署配置?
配置GitHub私有仓库与DirectAdmin同步的完整流程
一、让DirectAdmin拉取GitHub私有仓库内容
用SSH密钥(推荐,无需反复输入密码)
- 打开DirectAdmin的Git控制台,生成SSH密钥对,复制生成的公钥(开头为
ssh-rsa的字符串)。 - 登录你的GitHub私有仓库,进入「Settings」→「Deploy keys」,点击「Add deploy key」,粘贴刚才的公钥,勾选「Allow write access」(若需要向仓库推送内容则勾选,只读同步可忽略),完成保存。
- 返回DirectAdmin Git控制台,仓库地址填写SSH格式:
git@github.com:你的用户名/仓库名.git,指定要同步到的本地目录(比如网站根目录),点击「Clone」或「Pull」测试,正常即可拉取仓库内容。
用HTTPS令牌(适合不想折腾SSH的场景)
- 登录GitHub,进入「Settings」→「Developer settings」→「Personal access tokens」→「Generate new token」,勾选「repo」权限(私有仓库读写必备),生成后复制令牌(仅显示一次,务必妥善保存)。
- 在DirectAdmin Git控制台,仓库地址填写HTTPS格式:
https://github.com/你的用户名/仓库名.git,用户名填GitHub账号名,密码填刚才生成的个人访问令牌(不是GitHub登录密码),设置同步目录后测试拉取。
二、本地dist文件夹同步到GitHub再自动同步到DirectAdmin
第一步:本地仅提交dist文件夹到GitHub
若本地项目未关联GitHub仓库:
- 先初始化仓库并关联远程地址:
git init git remote add origin git@github.com:你的用户名/仓库名.git # 也可使用HTTPS地址 - 在项目根目录创建
.gitignore文件,内容如下:
此配置仅将dist文件夹和* !dist/ !.gitignore.gitignore提交至仓库,其余文件均被忽略。 - 提交并推送内容:
git add dist/ .gitignore git commit -m "更新dist文件" git push origin main # 替换为你的实际分支名
第二步:让DirectAdmin自动同步GitHub的更新
若你的DirectAdmin版本支持Webhook:
- 在DirectAdmin Git控制台找到「Auto-Deploy」或「Webhook」选项,复制提供的Webhook地址。
- 返回GitHub仓库,进入「Settings」→「Webhooks」→「Add webhook」,Payload URL填写刚才复制的地址,Content type选择
application/json,仅勾选「Just the push event」,完成保存。
此后每次你本地推送dist到GitHub,DirectAdmin会自动拉取最新内容到指定目录。
若无Webhook功能,可使用定时脚本实现自动拉取:
- 在DirectAdmin的Shell中创建
git_pull.sh脚本:#!/bin/bash cd /你的同步目录完整路径 git pull origin main - 给脚本添加执行权限:
chmod +x git_pull.sh - 配置cron任务,例如每小时执行一次:
0 * * * * /脚本的完整路径/git_pull.sh
内容的提问来源于stack exchange,提问作者scorpawe
相关产品推荐
相关产品推荐

