阅读量:4
在Ubuntu上集成Node.js的CI/CD可采用GitHub Actions、Jenkins等工具,以下是基于GitHub Actions的典型方案:
-
环境准备
- 安装Node.js和npm:通过
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -安装指定版本。 - 配置GitHub仓库,确保代码可访问。
- 安装Node.js和npm:通过
-
创建CI/CD工作流
- 在项目根目录创建
.github/workflows/ci.yml文件,定义构建、测试、部署流程。 - 示例配置:
name: Node.js CI/CD on: push: branches: [main] jobs: build-and-test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: node-version: '16' - run: npm install - run: npm test deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: node-version: '16' - run: npm install - run: npm run build - name: Deploy to Server env: SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} run: | echo "$SSH_PRIVATE_KEY" > private_key.pem chmod 600 private_key.pem scp -o StrictHostKeyChecking=no -r dist/* user@server:/var/www/html- 说明:
actions/setup-node:设置Node.js环境。npm test:运行测试(需提前配置测试脚本)。scp:通过SSH部署到服务器,需在GitHub Secrets中配置私钥。
- 说明:
- 在项目根目录创建
-
部署到Docker(可选)
- 若需容器化部署,可添加Docker构建步骤:
需提前创建Dockerfile并登录Docker Hub。- name: Build Docker Image run: docker build -t your-dockerhub-username/your-repo:tag . - name: Push to Docker Hub uses: docker/build-push-action@v2 with: push: true tags: your-dockerhub-username/your-repo:tag
- 若需容器化部署,可添加Docker构建步骤:
-
工具对比
工具 适用场景 优势 GitHub Actions 云原生、轻量级项目 与GitHub深度集成,无需额外服务器 Jenkins 企业级复杂流水线 支持多环境、插件生态丰富 GitLab CI 自托管Git仓库 内置Runner,适合大规模团队
注意事项:
- 敏感信息(如SSH密钥、API密钥)需通过GitHub Secrets管理。
- 部署前需确保服务器环境(如Nginx、Node.js版本)与CI环境一致。
- 可通过
matrix策略测试多版本Node.js。
以上就是关于“Ubuntu Nodejs如何集成CI/CD”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm