云电脑运行持续集成CI,网站自动打包测试

在云电脑上跑持续集成(CI),核心目标是让代码提交后自动触发打包和测试,减少人工操作。
本文以 Jenkins 为例,从零开始带你完成环境搭建、任务配置到结果验证,适合刚接触 CI 的运维或开发人员。

云电脑环境准备与基础依赖安装

云电脑通常指云端提供的虚拟桌面或计算实例,系统多为 Windows 或 Linux。
以下步骤以 Linux 云电脑(Ubuntu 20.04/22.04)为例,Windows 云电脑可参考对应命令调整。

1. 更新系统并安装 Java 环境
Jenkins 依赖 Java,推荐安装 OpenJDK 11 或 17。

sudo apt update
sudo apt install -y openjdk-11-jdk
java -version

如果输出显示 openjdk version "11.0.x",说明安装成功。

2. 安装 Jenkins
添加官方仓库并安装:

wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt update
sudo apt install -y jenkins

启动服务并设置开机自启:

sudo systemctl start jenkins
sudo systemctl enable jenkins

3. 开放防火墙端口
Jenkins 默认监听 8080 端口。如果云电脑有安全组或防火墙,需放行 8080。

sudo ufw allow 8080

4. 获取初始管理员密码

sudo cat /var/lib/jenkins/secrets/initialAdminPassword

复制输出的密码,后续在浏览器中解锁 Jenkins。

配置 Jenkins 与网站项目自动打包

在浏览器访问 http://云电脑公网IP:8080,输入初始密码。
选择“安装推荐的插件”,等待完成。
创建管理员账号后,进入主界面。

1. 安装必要插件
进入 Manage Jenkins -> Plugins -> Available,搜索并安装:

  • Git plugin(拉取代码)
  • NodeJS Plugin(如果网站是前端项目)
  • Pipeline(流水线)

安装后重启 Jenkins。

2. 配置全局工具
进入 Manage Jenkins -> Global Tool Configuration:

  • JDK:指定已安装的 Java 路径,如 /usr/lib/jvm/java-11-openjdk-amd64
  • Git:指定 git 路径,通常自动检测
  • NodeJS:如果前端项目需要,添加 NodeJS 版本(如 16.20.0),并勾选自动安装

3. 创建流水线任务
点击 New Item,输入任务名称(如 website-ci),选择 Pipeline,点击 OK。

在任务配置页,找到 Pipeline 部分:

  • Definition 选择 Pipeline script from SCM
  • SCM 选择 Git
  • Repository URL 填写你的网站代码仓库地址(如 https://github.com/yourname/website.git)
  • 凭据按需添加(用户名密码或 SSH 密钥)
  • Script Path 默认为 Jenkinsfile

保存后,Jenkins 会从仓库根目录读取 Jenkinsfile 执行流水线。

编写 Jenkinsfile 实现自动打包与测试

在网站项目根目录创建 Jenkinsfile,内容如下(以 Node.js 前端项目为例):

pipeline {
    agent any

    tools {
        nodejs 'NodeJS-16'  // 名称需与全局工具配置中一致
    }

    stages {
        stage('拉取代码') {
            steps {
                checkout scm
            }
        }
        stage('安装依赖') {
            steps {
                sh 'npm install'
            }
        }
        stage('打包构建') {
            steps {
                sh 'npm run build'
            }
        }
        stage('运行测试') {
            steps {
                sh 'npm test'
            }
        }
    }

    post {
        always {
            echo '流水线执行完毕'
        }
        success {
            echo '打包测试成功'
        }
        failure {
            echo '打包测试失败,请检查日志'
        }
    }
}

关键点说明:

  • tools 中的 nodejs 'NodeJS-16' 名称必须与全局工具配置中填写的 Name 完全一致。
  • npm run build 和 npm test 需根据项目 package.json 中的脚本名称调整。
  • 如果项目使用其他语言(如 Python、Java),将 sh 命令替换为对应构建命令即可。

将 Jenkinsfile 提交到代码仓库。
回到 Jenkins 任务页面,点击 Build Now,即可触发第一次自动打包测试。

常见报错与避坑指南

1. 权限不足导致 npm 安装失败
现象:npm ERR! Error: EACCES: permission denied。
解决:在 Jenkins 全局工具配置中,为 NodeJS 安装目录设置可写权限,或改用 npm install --unsafe-perm。

2. 云电脑内存不足导致构建中断
现象:构建过程中进程被 killed。
解决:为云电脑分配至少 2GB 内存,或增加 swap 分区。

sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

3. 流水线找不到 Jenkinsfile
检查 Script Path 是否填写正确,确保文件已推送到仓库默认分支。

4. 测试脚本未配置导致失败
如果 package.json 中没有 test 脚本,npm test 会报错。可以在 Jenkinsfile 中先注释掉测试阶段,或补充测试脚本。

5. 云电脑重启后 Jenkins 未自动启动
确保已执行 sudo systemctl enable jenkins,否则每次重启需手动启动。

验证自动打包测试是否生效

完成以上配置后,按以下步骤验证:

  1. 在 Jenkins 任务页面点击 Build Now,观察 Build History 中出现新的构建记录。
  2. 点击构建编号,选择 Console Output,查看日志是否依次输出“拉取代码”、“安装依赖”、“打包构建”、“运行测试”。
  3. 如果所有阶段显示蓝色或绿色,最后输出“打包测试成功”,说明 CI 流程正常运行。
  4. 修改代码仓库中任意文件并提交,Jenkins 应自动触发新构建(需在任务中勾选 Poll SCM 或配置 Webhook)。
  5. 构建成功后,在云电脑的 Jenkins 工作目录(/var/lib/jenkins/workspace/任务名称)中检查是否生成了打包产物(如 dist 目录)。

如果构建失败,根据 Console Output 中的报错信息,回看避坑指南对应条目进行修复。

关于自动触发与通知

默认情况下,Jenkins 不会自动检测代码变更。
可以在任务配置中勾选 Build Triggers -> Poll SCM,设置定时检查(如 H/5 * * * * 表示每 5 分钟检查一次)。
更推荐在代码仓库(GitHub/GitLab)中配置 Webhook,指向 http://云电脑IP:8080/github-webhook/,实现提交后立即触发。

如果希望构建结果通知到邮箱或钉钉,可安装对应插件并配置。

最后提醒:云电脑的 IP 和端口可能因重启而变化,建议使用弹性公网 IP 或内网穿透工具保持访问地址稳定。
生产环境建议将 Jenkins 部署在内网,通过 VPN 或跳板机访问,避免直接暴露在公网。

分享到:
上一篇
云电脑搭建Git仓库,网站代码版本管理
下一篇
云电脑对比本地PC,编译大型代码速度对比
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 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意