在Debian上实现JavaScript项目的持续集成(CI)可参考以下步骤,以GitHub Actions和Jenkins为例:
准备工作
Node.js和npm/yarn。.github/workflows/ci.yml文件。配置CI流程
name: CI
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with: { node-version: '20' }
- run: npm install
- run: npm test # 运行单元测试
- run: npm run build # 构建项目
可扩展步骤:添加代码质量检查(如ESLint)、部署到服务器等。
触发与监控
安装Jenkins
sudo apt update
sudo apt install openjdk-11-jdk # 安装Java环境
curl -fsSL https://pkg.jenkins.io/debian/jenkins.io.key | sudo tee /usr/share/keyrings/jenkins-keyring.asc
echo "deb http://pkg.jenkins.io/debian-stable binary/" | sudo tee /etc/apt/sources.list.d/jenkins.list
sudo apt update && sudo apt install jenkins
sudo systemctl start jenkins && sudo systemctl enable jenkins
访问http://服务器IP:8080,使用初始密码解锁并完成配置。
配置Jenkins环境
Pipeline(用于定义流程)、Git(集成代码仓库)、NodeJS(支持Node.js项目)。创建Jenkins Pipeline
Jenkinsfile:pipeline {
agent any
tools { nodejs 'NodeJS' } // 使用已配置的Node.js版本
stages {
stage('Checkout') { steps { checkout scm } }
stage('Install') { steps { sh 'npm install' } }
stage('Test') { steps { sh 'npm test' } }
stage('Deploy') {
steps {
// 示例:通过SSH部署到服务器
withCredentials([sshUserPrivateKey(credentialsId: 'your-ssh-key')]) {
sh 'scp -r build/* user@server:/path/to/deploy'
}
}
}
}
}
npm或yarn安装项目依赖,确保package.json中定义了scripts(如test、build)。根据项目需求选择工具,GitHub Actions适合轻量级项目,Jenkins适合复杂流程或企业级部署。