ubuntu

Ubuntu Node.js如何进行持续集成

小樊
47
2025-08-19 20:08:27
栏目: 编程语言

在Ubuntu上进行Node.js持续集成可参考以下方案,以Jenkins和GitLab CI为例:

一、Jenkins方案

  1. 环境准备

    • 安装JDK、Node.js、Git:
      sudo apt update
      sudo apt install openjdk-11-jdk nodejs npm git
      
    • 安装Jenkins并启动:
      wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo tee /usr/share/keyrings/jenkins-keyring.asc
      echo "deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] https://pkg.jenkins.io/debian-stable binary/" | sudo tee /etc/apt/sources.list.d/jenkins.list
      sudo apt install jenkins
      sudo systemctl start jenkins
      
  2. 配置Jenkins

    • 安装插件:Pipeline、GitHub Integration、NodeJS、Publish over SSH。
    • 配置全局工具:在“Manage Jenkins”→“Global Tool Configuration”中设置Node.js路径。
    • 添加GitHub凭证:在“Credentials”中配置仓库访问密钥。
  3. 创建Pipeline任务

    • 使用Jenkinsfile定义流程,示例步骤:
      pipeline {
          agent any
          tools { nodejs 'NodeJS-18' } // 配置的Node.js工具名
          stages {
              stage('Clone') {
                  steps { git branch: 'main', url: 'https://github.com/your-repo.git' }
              }
              stage('Install') {
                  steps { sh 'npm install' }
              }
              stage('Test') {
                  steps { sh 'npm test' }
              }
              stage('Deploy') {
                  steps {
                      sshagent(['your-ssh-credential']) {
                          sh 'ssh user@server "cd /app && git pull && npm install && pm2 restart app"'
                      }
                  }
              }
          }
      }
      

二、GitLab CI方案

  1. 环境准备

    • 安装GitLab Runner:
      curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bash
      sudo apt install gitlab-runner
      sudo gitlab-runner register # 按提示配置URL和token
      
  2. 配置.gitlab-ci.yml

    • 定义CI/CD阶段,示例:
      stages:
        - build
        - test
        - deploy
      build:
        stage: build
        image: node:18
        script:
          - npm install
          - npm run build
        artifacts:
          paths:
            - dist/
      deploy:
        stage: deploy
        image: alpine
        before_script:
          - apk add --no-cache ssh
        script:
          - ssh user@server "cd /app && git pull && npm install && pm2 restart app"
        only:
          - main
      

三、关键工具说明

四、注意事项

以上方案可根据项目需求选择,Jenkins适合复杂构建流程,GitLab CI适合与GitLab仓库深度集成的场景。

0
看了该问题的人还看了