热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

jenkins部署nodejs前端项目

篇首语:本文由编程笔记#小编为大家整理,主要介绍了jenkins部署nodejs前端项目相关的知识,希望对你有一定的参考价值。一、jenkins安装node插件

篇首语:本文由编程笔记#小编为大家整理,主要介绍了jenkins部署nodejs前端项目相关的知识,希望对你有一定的参考价值。



一、jenkins安装node插件

Manage Jenkins-->Manage Plugins

在可选插件钟搜索NodeJS,找到NodeJS ,勾选,然后点击Install without restart


二、安装node

以node13为例,node14对安装低版本的node-sass有影响

下载和解压

wget https://nodejs.org/dist/v13.9.0/node-v13.9.0-linux-x64.tar.gz
tar zxvf node-v13.9.0-linux-x64.tar.gz -C /usr/local
cd /usr/local
mv node-v13.9.0-linux-x64 node13

配置环境变量

#编辑/etc/profile
vi /etc/profile
#在最后添加
#set nodejs env
export NODE_HOME=/usr/local/node13
export PATH=$NODE_HOME/bin:$PATH
#用source命令是环境变量生效
source /etc/profile

查看版本

node -v
npm -v

配置淘宝镜像

npm config set registry https://registry.npmmirror.com
npm config set sass_binary_site=https://npm.taobao.org/mirrors/node-sass

三、Jenkins配置node

Manage Jenkins-->Global Tool Configuration--> NodeJS 安装
新增NodeJS

别名node-v13
安装目录/usr/local/node13



四、项目配置

Manage Jenkins-->Manage Plugins

搜索Git Parameter安装

以git项目打包为例说明使用

新建item

任务名称 任意,类型选Freestyle project

填写内容分6块,分别是 General 、源码管理、构建触发器、构建环境、构建、构建后操作
General内容

1.勾选Discard old builds
设置 策略Loq Rotation
保持构建的天数=1
保持构建的最大个数=5
2.GitLab Connection
选择 jenkins
3.勾选This project is parameterized
添加参数 Git Parameter(这里用到的就是刚才的 Git Parameter插件)
名称 填 branch
参数类型 选择 分支

源码管理内容

1.选择Git
Repositories
Repository URL 填git地址如http://git.aaa.com/bbb_projects/ccc.git
Credentials
这里添加 你的git账号 可以用gitlab的用户名密码,也可以用之前的全局配置的apitoken
Branches to build
指定分支(为空时代表any) 填 $branch
其他选项 默认

构建触发器

不填 这里可以配置一些比如push代码后自动构建的操作等

构建环境

勾选 Provide Node & npm bin/ folder to PATH
NodeJS Installation 选择之前配置的node-v13 其余选项默认

构建


增加构建步骤-Execute Shell
脚本如下
PACKAGE_CONFIG=package.json
VUETEMPLATECOMPILER=2.6.11
sed -i 's#\\("vue-template-compiler": "\\).*#\\1'"$VUETEMPLATECOMPILER"'",#g' $PACKAGE_CONFIG
npm install --unsafe -perm
npm run build:dev
zip -r dist.zip dist
/usr/local/transfer/transfer cow dist.zip >wenshushu.txt
linklineNumber=$(sed -n '/Download\\ Link/=' wenshushu.txt)
echo $linklineNumber
linklinestr=$(sed -n "$linklineNumberp" wenshushu.txt)
echo $linklinestr
str=$linklinestr#*Link:
mosquitto_pub -h mq.tongxinmao.com -t topic/sunwardtest -m "\\"module\\":\\"saas-wis-web\\",\\"link\\":\\"$str\\""

关键构建命令

npm install
npm run build:dev
zip -r dist.zip dist


五、常见报错

1.node-sass低版本安装不成功

建议安装node版本<&#61;node13&#xff0c;因为低版本node-sass不支持高版本的node

2.node-sass mkdir没有权限

由于node-sass不能用root用户命令运行npm install命令需要加上 --unsafe -perm或者改权限不用root用户执行这个命令

3.Syntax Error: TypeError: Cannot read property &#39;parseComponent&#39; of undefined

vue的版本与vue-template-compiler不一致导致的

检查package.json里vue 和 vue-template-compiler版本号是否完全一致&#xff0c;不能带有“^” 或者 “~”&#xff0c;如果有去掉&#xff0c;改成数字点号形式。上面的版本都是2.6.11&#xff0c;但是vue-template-compiler前带有“^” &#xff0c;所以上面的命令用sed命令替换掉了。

4.长时间npm build没有反应

清理工作空间




推荐阅读
  • 程序员如何选择机械键盘轴体?红轴和茶轴对比
    本文介绍了程序员如何选择机械键盘轴体,特别是红轴和茶轴的对比。同时还介绍了U盘安装Linux镜像的步骤,以及在Linux系统中安装软件的命令行操作。此外,还介绍了nodejs和npm的安装方法,以及在VSCode中安装和配置常用插件的方法。最后,还介绍了如何在GitHub上配置SSH密钥和git的基本配置。 ... [详细]
  • 本文介绍了JavaScript进化到TypeScript的历史和背景,解释了TypeScript相对于JavaScript的优势和特点。作者分享了自己对TypeScript的观察和认识,并提到了在项目开发中使用TypeScript的好处。最后,作者表示对TypeScript进行尝试和探索的态度。 ... [详细]
  • MySQL5.6.40在CentOS764下安装过程 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • Node.js学习笔记(一)package.json及cnpm
    本文介绍了Node.js中包的概念,以及如何使用包来统一管理具有相互依赖关系的模块。同时还介绍了NPM(Node Package Manager)的基本介绍和使用方法,以及如何通过NPM下载第三方模块。 ... [详细]
  • Python已成为全球最受欢迎的编程语言之一,然而Python程序的安全运行存在一定的风险。本文介绍了Python程序安全运行需要满足的三个条件,即系统路径上的每个条目都处于安全的位置、"主脚本"所在的目录始终位于系统路径中、若python命令使用-c和-m选项,调用程序的目录也必须是安全的。同时,文章还提出了一些预防措施,如避免将下载文件夹作为当前工作目录、使用pip所在路径而不是直接使用python命令等。对于初学Python的读者来说,这些内容将有所帮助。 ... [详细]
  • 必须先赞下国人npm库作品:node-images(https:github.comzhangyuanweinode-images),封装了跨平台的C++逻辑,形成nodejsAP ... [详细]
  • React 小白初入门
    推荐学习:React官方文档:https:react.docschina.orgReact菜鸟教程:https:www.runoob.c ... [详细]
  • centos php部署到nginx 404_NodeJS项目部署到阿里云ECS服务器全程详解
    本文转载自:http:www.kovli.com20170919ecs-deploy作者:Kovli本文详细介绍如何部署NodeJS项目到阿里云ECS上, ... [详细]
  • ReactJSUIAnt设计空组件原文:https://w ... [详细]
  • 在Kubernetes上部署JupyterHub的步骤和实验依赖
    本文介绍了在Kubernetes上部署JupyterHub的步骤和实验所需的依赖,包括安装Docker和K8s,使用kubeadm进行安装,以及更新下载的镜像等。 ... [详细]
  • uniapp开发H5解决跨域问题的两种代理方法
    本文介绍了uniapp开发H5解决跨域问题的两种代理方法,分别是在manifest.json文件和vue.config.js文件中设置代理。通过设置代理根域名和配置路径别名,可以实现H5页面的跨域访问。同时还介绍了如何开启内网穿透,让外网的人可以访问到本地调试的H5页面。 ... [详细]
  • VueCLI多页分目录打包的步骤记录
    本文介绍了使用VueCLI进行多页分目录打包的步骤,包括页面目录结构、安装依赖、获取Vue CLI需要的多页对象等内容。同时还提供了自定义不同模块页面标题的方法。 ... [详细]
  • 本文介绍了在Android Studio中使用命令行build gradle的方法,并解决了一些常见问题,包括手动配置gradle环境变量和解决External Native Build Issues的方法。同时提供了相关参考文章链接。 ... [详细]
  • 基于词向量计算文本相似度1.测试数据:链接:https:pan.baidu.coms1fXJjcujAmAwTfsuTg2CbWA提取码:f4vx2.实验代码:imp ... [详细]
author-avatar
手机用户2602913907
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有