






















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



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

下载到本地直接使用即可
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


yum install -y devtoolset-7
激活gcc高版本环境
scl enable devtoolset-7 bash

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 很容易被卡死

示例
[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

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

npm打包流水线提速
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。