Jenkins CI/CD自动化发布跨境网站更新新手实操教程

使用 Jenkins 实现跨境网站的 CI/CD 自动化发布,核心思路是:在代码仓库(如 GitHub)配置 Webhook,每次提交代码后自动触发 Jenkins 流水线,拉取最新代码、运行构建、再将制品上传至海外服务器并重启服务。
这套流程可以消除手动连接海外服务器的延迟,让更新在几分钟内完成。
本文以宝塔面板 + Jenkins + 泽御云香港云服务器为例,零基础读者按步骤操作即可落地。

环境准备:你需要哪些条件

在动手配置之前,请先确认以下三样东西已就绪:

  1. 一台能连通内外网的 Jenkins 服务器(建议使用 2GB 以上内存的云服务器,例如泽御云香港节点,拉取 GitHub 代码更快)
  2. 一台目标跨境服务器(运行你的网站,本文假设系统为 CentOS 7+,已安装宝塔面板或 Nginx)
  3. 一个 Git 仓库(托管你的网站代码,推荐 GitHub 或 Gitee)

如果你还没有 Jenkins,可以登录服务器执行以下命令安装(以 CentOS 为例):

sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
sudo yum install -y jenkins
sudo systemctl start jenkins && sudo systemctl enable jenkins

安装完成后访问 http:
//你的服务器IP:
8080

按提示获取初始密码(cat /var/lib/jenkins/secrets/initialAdminPassword)并安装推荐插件。

配置 Jenkins Pipeline:从拉取代码到远程部署

登录 Jenkins 后,点击“新建任务” -> “Pipeline”,命名为 cross-border-deploy
然后在流水线定义中选择“Pipeline script”,粘贴以下脚本(按你的信息替换仓库地址、服务器 IP 和路径):

pipeline {
    agent any
    stages {
        stage('Checkout') {
            steps {
                git branch: 'main', url: 'https://github.com/你的用户名/你的仓库.git'
            }
        }
        stage('Build') {
            steps {
                sh 'npm install && npm run build'  // 根据项目技术栈调整
            }
        }
        stage('Deploy') {
            steps {
                sshPublisher(publishers: [
                    sshPublisherDesc(
                        configName: 'target-server',
                        transfers: [
                            sshTransfer(
                                sourceFiles: 'dist/**',  // 构建产物的相对路径
                                remoteDirectory: '/www/wwwroot/你的网站目录',
                                removePrefix: 'dist'
                            )
                        ]
                    )
                ])
            }
        }
        stage('Restart Service') {
            steps {
                sshCommand remote: 'target-server', command: 'sudo systemctl restart nginx || /etc/init.d/nginx restart'
            }
        }
    }
}

注意
使用 sshPublisher 需要先安装“Publish Over SSH”插件,
并在“系统管理”->“系统配置”中添加 SSH Server,
填写目标服务器的 IP、
用户名和私钥。

配置 Git Webhook 实现自动触发

为了让每次代码推送都自动跑流水线,需要在 GitHub 仓库设置 Webhook。

  1. 进入 GitHub 仓库 -> Settings -> Webhooks -> Add webhook
  2. Payload URL 填写 http://你的Jenkins服务器IP:8080/github-webhook/(注意最后的斜杠)
  3. Content type 选择 application/json
  4. 勾选“Just the push event”
  5. 点击 Add webhook

回到 Jenkins,在 Pipeline 任务的“构建触发器”中勾选“GitHub hook trigger for GITScm polling”。
保存后,往仓库推送一次代码,观察是否自动触发构建。

跨境部署的常见坑与避障指南

  1. SSH 连接超时:跨境网络不稳定,建议在 Jenkins 系统配置里将 SSH Server 的“Timeout”调大到 30 秒以上。
  2. 权限不足:目标服务器上 Jenkins 使用的用户(一般是 root 或 www)需要具有目标目录的写权限。宝塔面板默认目录为 /www/wwwroot/,可使用 chown -R www:www /www/wwwroot/ 调整。
  3. 构建产物路径错误:务必确认 sourceFilesremovePrefix 匹配实际目录结构。可以先手动在 Jenkins 工作空间运行 ls dist/ 检查。
  4. Webhook 未触发:检查 Jenkins 服务器防火墙是否放行 8080 端口,GitHub 的 Webhook 日志里会显示请求状态(http 200 为成功)。

验证自动化发布是否生效

完成以上配置后,测试流程:

  • 本地修改网站首页(例如将标题改为“v2”),git commitpush 到 main 分支
  • 观察 Jenkins 控制台输出:Pipeline 应依次执行 Checkout -> Build -> Deploy -> Restart
  • 打开跨境网站,刷新页面,查看修改是否已上线
  • 如果失败,进入 Jenkins 任务的历史记录,点击对应构建编号,查看“Console Output”中的报错信息

常见问题解答(FAQ)

Q1:Jenkins 部署后网站没有变化,怎么回事?
A:先检查 Deploy 步骤中远程目录是否正确;再确认目标服务器上的 Nginx 或 Apache 是否已经重启。可以在 Console Output 中 grep “Restart”看看是否执行成功。

Q2:国内服务器 Jenkins 连接海外服务器特别慢,有哪些优化方法?
A:建议将 Jenkins 服务器也部署在靠近目标的位置,例如使用泽御云香港节点作为 Jenkins 主机;或使用 SSH 多路复用(在 ~/.ssh/config 添加 ControlMaster auto)。

Q3:使用宝塔面板时,如何配合 Jenkins 实现自动发布?
A:宝塔自带“宝塔插件”可放行端口,但更简单的方法是把 Jenkins 的 SSH 目标指向宝塔服务器,部署到 /www/wwwroot/你的站点,然后通过 Jenkins 的 Remote SSH 执行 bt restart(需要宝塔API)或重启 Nginx。

Q4:Pipeline 中如何在部署前备份原文件?
A:在 Deploy 步骤前增加一个 stage,使用 sshCommand 执行备份命令,例如 tar czf /backup/$(date +%Y%m%d%H%M%S).tar.gz /www/wwwroot/你的目录,然后再覆盖部署。

分享到:
上一篇
GDPR跨境站点用户数据隐私安全配置
下一篇
私有Git仓库存储建站脚本与中转配置完全指南
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意