溫馨提示×

Ubuntu Node.js如何進行持續集成

小樊
45
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
      

三、關鍵工具說明

  • PM2:用于生產環境進程管理,支持自動重啟和日志監控,可通過pm2 start app.js啟動應用。
  • Docker(可選):可將應用打包為容器,通過Jenkins或GitLab CI部署到服務器,簡化環境依賴問題。

四、注意事項

  • 敏感信息(如SSH密鑰、API密鑰)需通過工具變量或密鑰管理工具存儲,避免硬編碼在配置文件中。
  • 生產環境建議使用環境變量配置數據庫連接等參數,而非直接寫入代碼。

以上方案可根據項目需求選擇,Jenkins適合復雜構建流程,GitLab CI適合與GitLab倉庫深度集成的場景。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女