Vercel无法检测校内GitLab仓库,如何部署Django项目?
解决方案
方法一:使用Vercel CLI手动部署
适合快速验证,无需依赖GitLab CI/CD:
- 安装Vercel CLI:
npm install -g vercel - 克隆校内GitLab仓库到本地:
git clone https://gitlab.xyz.ac.id/[你的用户名]/[项目名].git - 进入项目目录:
cd [项目名] - 初始化Vercel项目并部署:
- 运行
vercel login,用你的Vercel账号完成登录 - 运行
vercel,根据提示完成项目关联、名称设置等配置 - 如需部署到生产环境,运行
vercel --prod
- 运行
- 配置Django适配Vercel:
在项目根目录创建vercel.json文件(替换myproject为你的Django项目名):
确保{ "builds": [ { "src": "myproject/wsgi.py", "use": "@vercel/python", "config": { "maxLambdaSize": "15mb" } } ], "routes": [ { "src": "/(.*)", "dest": "myproject/wsgi.py" } ] }requirements.txt包含django、gunicorn等核心依赖,按需添加适配Vercel的额外依赖。
方法二:通过校内GitLab CI/CD自动部署
利用已有CI/CD经验,实现代码推送后自动部署:
- 获取Vercel部署令牌:
- 登录Vercel账号,进入「Account Settings」→「Tokens」
- 创建新令牌并保存(记为
VERCEL_TOKEN)
- 在校内GitLab项目配置环境变量:
- 进入项目「Settings」→「CI/CD」→「Variables」
- 添加
VERCEL_TOKEN(值为刚创建的令牌)、VERCEL_PROJECT_ID(Vercel项目设置中获取)、VERCEL_ORG_ID(Vercel个人/团队设置中获取)
- 修改
.gitlab-ci.yml添加部署阶段:stages: - deploy deploy_to_vercel: stage: deploy image: node:latest before_script: - npm install -g vercel script: - vercel pull --yes --environment=production --token=$VERCEL_TOKEN - vercel build --prod --token=$VERCEL_TOKEN - vercel deploy --prod --token=$VERCEL_TOKEN only: - main # 替换为你需要部署的分支名称 - 提交配置文件到仓库,触发CI/CD流水线即可完成自动部署。
关键注意事项
- 确认校内GitLab服务器可访问Vercel外部API(如
api.vercel.com),若有网络限制需申请放行或配置代理 - Django生产环境配置:设置
DEBUG=False、添加Vercel分配域名到ALLOWED_HOSTS、配置静态文件托管(可使用Vercel静态资源功能或第三方存储)
内容的提问来源于stack exchange,提问作者Aiko Sulaiman
相关产品推荐
相关产品推荐

