惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
人人都是产品经理
人人都是产品经理
H
Hacker News: Front Page
Stack Overflow Blog
Stack Overflow Blog
B
Blog
I
InfoQ
GbyAI
GbyAI
T
The Blog of Author Tim Ferriss
F
Fortinet All Blogs
Y
Y Combinator Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
月光博客
月光博客
Hugging Face - Blog
Hugging Face - Blog
爱范儿
爱范儿
F
Full Disclosure
Hacker News - Newest:
Hacker News - Newest: "LLM"
Recent Announcements
Recent Announcements
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Jina AI
Jina AI
T
Tailwind CSS Blog
S
Secure Thoughts
P
Privacy International News Feed
美团技术团队
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
L
LINUX DO - 最新话题
H
Hackread – Cybersecurity News, Data Breaches, AI and More
C
Cybersecurity and Infrastructure Security Agency CISA
Last Week in AI
Last Week in AI
W
WeLiveSecurity
Google Online Security Blog
Google Online Security Blog
P
Privacy & Cybersecurity Law Blog
D
DataBreaches.Net
Engineering at Meta
Engineering at Meta
Know Your Adversary
Know Your Adversary
P
Palo Alto Networks Blog
I
Intezer
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Project Zero
Project Zero
V2EX - 技术
V2EX - 技术
H
Heimdal Security Blog
博客园 - Franky
阮一峰的网络日志
阮一峰的网络日志
D
Darknet – Hacking Tools, Hacker News & Cyber Security
T
Troy Hunt's Blog
V
Vulnerabilities – Threatpost
H
Help Net Security
Martin Fowler
Martin Fowler
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
G
GRAHAM CLULEY
博客园 - 【当耐特】

博客园 - 不懂123

kafka添加用户管理认证 elastic定时清除索引数据 sftp集成设置 kafka3.9集群部署 nginx扩展编译模块 rancher kafka部署 JumpServer使用示例 rancher kafka多监听配置 jenkins远程动态打包镜像 docker镜像仓库清理迁移 elastic单机多节点集群搭建 fastdfs编译升降版本 监控系统搭建集成实例 rancher服务启动异常 linux使用ssh免密连接windows主机 jenkins pipeline搭建 docker跨平台构建镜像 fastdfs系统异常 mongodb集群用户管理
nodejs升级管理
不懂123 · 2026-04-09 · via 博客园 - 不懂123

nvm 升级

         image

        由于操作系统版本太低导致node高版本不可用

         image

 解决办法

        image

         image

          https://unofficial-builds.nodejs.org/download/release/v18.20.8/

         image

        下载到本地直接使用即可

系统GCC版本升级

           CentOS 7的GCC太旧,不支持-std=c++14,导致node-sass编译失败

 vim /etc/yum.repos.d/CentOS-SCLo-scl.repo


[centos-sclo-sclo]
name=CentOS-7 - SCLo sclo
baseurl=https://mirrors.aliyun.com/centos/7/sclo/x86_64/sclo/
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo



vim /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo

[centos-sclo-rh]
name=CentOS-7 - SCLo rh
baseurl=https://mirrors.aliyun.com/centos/7/sclo/x86_64/rh/
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo

repo配置

        yum clean all

        yum makecache

        image

      image

      yum install -y devtoolset-7

      激活gcc高版本环境

      scl enable devtoolset-7 bash

      image

 集成到流水线中

       ln -s /root/node-v18.20.8-linux-x64-glibc-217/bin/node /usr/bin/node18

       ln -s /root/node-v18.20.8-linux-x64-glibc-217/bin/npm /usr/bin/npm10

       npm10 install -g pnpm

       scl enable devtoolset-7 bash

       pnpm install

       pnpm install的安装效率要比npm install的效率要快很多,节省很多时间。npm install 很容易被卡死

      image

     示例

      [root@instance base-h5-dev-qiankun]# whereis pnpm
        pnpm: /root/.nvm/versions/node/v16.20.2/bin/pnpm
     [root@instance base-h5-dev-qiankun]# ln -s /root/.nvm/versions/node/v16.20.2/bin/pnpm /usr/bin/pnpm

pipeline {
   agent any

   tools {
      // Install the Maven version configured as "M3" and add it to the path.
      maven "M2"
   }

   stages {
   
      stage('GetCode'){
         steps {
             //git branch: "soc_v1.25.2_dev",  url: 'https://192.168.30.111:8090/soc/yun_soc_h5.git'

         }

         post {
            success {
              print("getCode success")
            }
         }
      }
      
      stage("Build"){
           steps {
              script {
                  sh "scl enable devtoolset-7 bash && pnpm install --no-frozen-lockfile && pnpm install --save quill svg-baker-runtime url-loader lodash"
                  sh "pnpm run build:sit"
                  //sh "npm run build-all"

              }
            }
            
           post {
              success {
                print("Build success......")
              }
           }
      }
      
     stage("Deploy"){
           steps {
              script {
                  
                 base_dir="/home/jenkins/docker-pipeline/soc-base-dev/nginx-fastdfs-qiankun/"
                 main_dir="/home/jenkins/docker-pipeline/soc-base-dev/nginx-fastdfs-qiankun/static-file/main"
                 namespaces="soc-base-dev" 
                 nginxname="nginx-fastdfs:v1.18.0"
                 
                 sh "rm -fr  ${main_dir}/* && rm -fr  ${vue2_dir}/* && rm -fr  ${vue3_dir}/* &&  rm -fr  ${vue4_dir}/* &&  rm -fr  ${vue5_dir}/*"
                 sh "cp -r  ./main/dist/* ${main_dir}/ && cp -r ./subapps/assetapp/dist/* ${vue2_dir}/ && cp -r ./vue3-subapps/vue3/dist/* ${vue3_dir}/ "
                 sh "cp -r ./subapps/siemapp/dist/*  ${vue4_dir}/ && cp -r ./subapps/soarapp/dist/*  ${vue5_dir}/"
                 sh "cd ${base_dir} && sh build.sh"
                 
                 sh "ssh admin@192.168.30.174 'sudo docker pull 192.168.30.113/${namespaces}/${nginxname}'"
                 sh "ssh admin@192.168.30.174 'sudo docker tag 192.168.30.113/${namespaces}/${nginxname} registry.harbor.com:58443/${namespaces}/${nginxname}'"
                 sh "ssh admin@192.168.30.174 'sudo docker push registry.harbor.com:58443/${namespaces}/${nginxname}'"
                 sh "ssh admin@192.168.30.174 'sudo /usr/local/bin/kubectl rollout restart daemonset nginx -n ${namespaces}'"
              }
            }
            
           post {
              success {
                print("Deploy success......")
              }
           }
      }
      
   }
}

View Code

     image

     pnpm 打包速度比npm速度要快很多

pipeline {
   agent any

   tools {
      // Install the Maven version configured as "M3" and add it to the path.
      maven "M2"
   }

   stages {
   
      stage('GetCode'){
         steps {
              git branch: "base-dev-v1.10-qiankun",  url: 'https://192.168.30.111:8090/base-repo/h5-new.git'
         }

         post {
            success {
              print("getCode success")
            }
         }
      }
      
      stage("Build"){
           steps {
              script {
                   //sh "source /root/.bashrc > /dev/null 2>&1 && nvm use v18.19.0"
                  sh "node -v && npm install --legacy-peer-deps && npm install sass less && npm run install-all"
                  //sh "rm -fr ./vue.config.js && cp ../vue.config.js ./"
                  //sh "npm run build-all"
                  sh "${env.module}"
                  sh 'echo ${GIT_BRANCH} > ./main/dist/version.json && current=`date "+%Y-%m-%d %H:%M:%S"` && timeStamp=`date -d "$current" +%s` && currentTimeStamp=$((timeStamp*1000+`date "+%N"`/1000000)) && echo `cat version.json | grep -o  _v.*_ | sed \'s/_//g\'`  $currentTimeStamp > main/dist/version.json'
              }
            }
            
           post {
              success {
                print("Build success......")
              }
           }
      }
      
      stage("Deploy"){
           steps {
              script {
                  
                 base_dir="/home/jenkins/docker-pipeline/soc-base-dev/nginx-fastdfs-qiankun/"
                 main_dir="/home/jenkins/docker-pipeline/soc-base-dev/nginx-fastdfs-qiankun/static-file/html/main"
                 vue2_dir="/home/jenkins/docker-pipeline/soc-base-dev/nginx-fastdfs-qiankun/static-file/html/vue2-asset"
                 //vue3_dir="/home/jenkins/docker-pipeline/soc-base-dev/nginx-fastdfs-qiankun/static-file/vue3-subapp"
                 vue4_dir="/home/jenkins/docker-pipeline/soc-base-dev/nginx-fastdfs-qiankun/static-file/html/vue2-siem"
                 vue5_dir="/home/jenkins/docker-pipeline/soc-base-dev/nginx-fastdfs-qiankun/static-file/html/vue2-soar"
                 
                 namespaces="soc-base-dev" 
                 nginxname="nginx-fastdfs:v1.18.0"
                 
                 sh "rm -fr  ${main_dir}/* && rm -fr  ${vue2_dir}/*  &&  rm -fr  ${vue4_dir}/* &&  rm -fr  ${vue5_dir}/*"
                 sh "cp -r  ./main/dist/* ${main_dir}/ && cp -r ./subapps/assetapp/dist/* ${vue2_dir}/ "
                 sh "cp -r ./subapps/siemapp/dist/*  ${vue4_dir}/ && cp -r ./subapps/soarapp/dist/*  ${vue5_dir}/"
                 sh "cd ${base_dir} && sh build.sh"
                 
                 sh "ssh admin@192.168.30.174 'sudo docker pull 192.168.30.113/${namespaces}/${nginxname}'"
                 sh "ssh admin@192.168.30.174 'sudo docker tag 192.168.30.113/${namespaces}/${nginxname} registry.harbor.com:58443/${namespaces}/${nginxname}'"
                 sh "ssh admin@192.168.30.174 'sudo docker push registry.harbor.com:58443/${namespaces}/${nginxname}'"
                 sh "ssh admin@192.168.30.174 'sudo /usr/local/bin/kubectl rollout restart daemonset nginx -n ${namespaces}'"
                
              }
            }
            
           post {
              success {
                print("Deploy success......")
              }
           }
      }
      
      
   }
}

View Code

    image

    npm打包流水线提速