jenkins通过github webhook实现自动构建部署:配置cpolar内网穿透获取公网域名,修改jenkins url;github中设置webhook地址为https://xxx.cpolar.top/github-webhook/;jenkins新建pipeline任务,scm指向qoder项目main分支,jenkinsfile定义checkout、install&build、deploy三阶段,支持rsync直传或qoder cli一键部署,提交代码后5分钟内线上可访问。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你想让Qoder生成的全栈项目在代码提交后自动构建、测试并上线,不再手动打包上传或SSH登录服务器执行命令,而是靠Jenkins流水线真正实现“改完代码→推送到GitHub→5分钟内线上可访问”的闭环。
准备Jenkins环境并打通内网穿透
Jenkins必须能被GitHub的Webhook回调到,否则无法自动触发构建。你本地装好Jenkins后,默认只能用http://localhost:8080访问,GitHub发不出请求——得让它拥有一个公网可访问的地址。
下载cpolar客户端,注册账号后执行cpolar http 8080,获取类似https://abc123.cpolar.top的固定域名。
进入Jenkins系统设置→Jenkins Location,把“Jenkins URL”改成这个cpolar域名,保存。这一步不改,后续Webhook会因重定向失败而静默丢弃。
在GitHub仓库Settings → Webhooks → Add webhook中,Payload URL填https://abc123.cpolar.top/github-webhook/,Content type选application/json,Secret保持为空即可。点击Add webhook后,右侧会显示最近一次请求状态为200。
配置Jenkins任务拉取Qoder项目代码
新建一个“Pipeline”类型任务,名称设为qoder-frontend-deploy。
勾选“GitHub project”,Project URL填你的Qoder项目GitHub地址,例如https://github.com/yourname/qoder-nextjs-app。
在“Pipeline”配置区,选择“Pipeline script from SCM”,SCM选Git,Repository URL填同上地址,Branches to build填*/main(注意不是master,Qoder默认初始化分支为main)。
脚本路径填Jenkinsfile——这个文件必须由你提前写好并提交到项目根目录,不能留空。
编写Jenkinsfile定义Qoder专属部署流程
方法一:纯Shell方式(适合Node.js类Qoder项目)
在项目根目录新建Jenkinsfile,内容如下:
pipeline {
agent any
stages {
stage('Checkout') { steps { checkout scm } }
stage('Install & Build') {
steps {
sh 'npm ci'
sh 'npm run build'
}
}
stage('Deploy') {
steps {
sh 'rsync -av --delete ./out/ user@192.168.1.100:/var/www/qoder-frontend/'
}
}
}
}
代码编辑 CLI 工具集合:Cursor CLI(agent)和 Qoder CLI(qodercli),用于代码修改、重构、Code Review 及自动化代码任务。
注意:rsync目标IP必须是你实际Nginx服务器的局域网IP,【不要直接用localhost或127.0.0.1】,因为Jenkins运行在自己容器里,localhost指向的是它自身而非宿主机。
方法二:调用Qoder CLI接管构建与部署
前提是你已在Jenkins服务器全局安装了Qoder CLI(npm install -g qoder-cli),且执行qoder login完成认证。
Jenkinsfile中Deploy阶段替换为:
sh 'qoder deploy --target static --output-dir ./out --domain qoder-demo.example.com'
这行命令会自动检测Next.js或Vue项目结构,跳过冗余构建步骤,直接压缩静态资源并推送到预设CDN或对象存储,比纯Shell快40%以上。
验证Webhook触发与首次构建
第一步:在GitHub仓库任意文件加一行空格,提交并推送。
第二步:立即打开Jenkins任务页面,观察左侧面板是否出现新构建记录;若30秒内未出现,点击“Git Polling Log”检查轮询是否启用——此时应已禁用轮询,完全依赖Webhook。
第三步:点进最新构建号,打开Console Output,滚动到底部确认最后三行是:
[Deploy] Finished uploading to /var/www/qoder-frontend/
[Deploy] Restarting nginx service...
[Deploy] Success: https://qoder-demo.example.com is live.
第四步:在浏览器打开该域名,看到Qoder生成的首页即表示整条链路跑通。










