首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Jenkins中从Node / package.json获取项目版本

在Jenkins中,从Node / package.json获取项目版本是指使用Jenkins自动化工具,通过读取Node.js项目中的package.json文件来获取项目的版本号。

Node.js是一个基于Chrome V8引擎的JavaScript运行时,用于构建快速、可扩展的网络应用。而package.json是一个位于Node.js项目根目录下的配置文件,用于描述项目的相关信息,包括名称、版本、依赖等。

从Node / package.json获取项目版本可以帮助我们在持续集成和持续交付过程中准确地跟踪项目版本,方便进行版本控制、发布管理和部署操作。在Jenkins中实现该功能可以通过以下步骤:

  1. 在Jenkins中创建一个新的构建任务(Job)。
  2. 在构建配置中选择“源码管理”,配置好Git、SVN或其他版本控制工具的相关信息,以获取项目源代码。
  3. 在构建配置中选择“构建触发器”,配置定期触发或代码变更触发等构建条件。
  4. 在构建配置中选择“构建环境”,配置Node.js的环境和相关插件。
  5. 在构建配置中选择“构建”,点击“增加构建步骤”选择“执行Shell”,在Shell脚本中编写以下命令:
代码语言:txt
复制
VERSION=$(cat package.json | grep version | head -1 | awk -F: '{ print $2 }' | sed 's/[",]//g' | tr -d '[[:space:]]')
echo $VERSION
  1. 保存并执行构建任务。

上述Shell脚本通过grep、awk、sed等命令从package.json文件中提取版本号,并将其赋值给变量VERSION。最后使用echo命令将版本号打印出来。

通过以上步骤,Jenkins会在每次构建任务执行时,自动从Node / package.json获取项目版本,并将其输出到构建日志中。

对于Jenkins中从Node / package.json获取项目版本的推荐腾讯云产品,可以使用云服务器CVM来搭建Jenkins服务器,并使用云开发者工具套件(Tencent Developer Suite)提供的CI / CD服务来实现持续集成和持续交付。具体产品介绍和使用文档可参考腾讯云官方网站:

  • 云服务器CVM:https://cloud.tencent.com/product/cvm
  • 云开发者工具套件(Tencent Developer Suite):https://cloud.tencent.com/product/suite
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 喝杯咖啡,一键部署前端项目

    我部署的 Jenkins本机部署的,Windows 版本。因用 Jenkins 的 NodeJS 插件打包失败,所以本地安装了 NodeJS,对应的版本为 18.10。...NodeJS 的安装包可以到 NodeJS 的官网上获取。安装包地址如下: https://nodejs.org/dist/ 可以通过 node -v 命令查看 node 版本。...查看 node 版本 如果你想使用 Jenkins 的 NodeJS 插件,可以在这下载安装。...当在项目的根目录执行这个命令时,npm会查找package.json文件的"scripts"字段,并执行对应的构建命令。 安装 nodejs 时会自动安装 NPM。...查看 npm 安装的版本 三、Jenkins 前端部署思路 通过 Jenkins Git 仓库获取代码 通过命令删除 Jenkins 工作空间的前端编译文件 通过 npm 安装依赖 通过 npm run

    14110

    工程化能力必备技能,前端 jenkins 自动化部署持续集成

    ,初始化的管理员密码日志可以获取。...node.js插件配置 系统管理-全局工具配置,找到 NodeJS。 需要注意的是Node.js版本避免过高,选择开发稳定版本,能避免不少版本过高导致部署过程出现一些奇怪的问题。...此时会按照SVN项目地址拉取代码,构建前端资源时,会执行npm run build:${传入的环境参数} 命令。对应的为前端项目 package.json 各环境的打包命令。...依赖更新问题 Jenkins首次安装依赖会根据项目中锁定版本号的文件进行依赖版本安装(package-lock.json,yarn-lock),安装过后 node_modules 文件夹会存留。...如需要更新特定依赖版本,需要手动修改 package.json 版本号并重新提交构建,或者选择任务的 “清空工作区选项”。 写在最后的碎碎念 公司没有运维的情况下。

    1.5K11

    docker封装nuxt项目使用jenkins发布

    需要安装Node.js,并使用npm install 安装依赖包才行。 现在由于要上docker,需要将nuxt项目和nojs.js依赖包打成一个镜像才行。...项目中的package.json是否和nuxt_base:v1镜像package.json是否一致。 如果一致,就更新基础镜像,否则不更新。...三、jenkins发布nuxt项目 由于只有一个nuxt项目,不需要将dockerfile提交到github,放到服务器的固定位置即可。 发布时,将dockerfile拷贝到目录即可。...环境介绍 gitlab版本:GitLab 社区版 10.5.1  jenkins版本:2.219 服务器:centos 7.6 由于jenkins服务器的操作系统为:centos 6.9,它不能安装docker...完整的jenkins 项目跟路径      JENKINS_DIR: "/data/jenkins_data/workspace/{{ JOB_NAME }}"    tasks:     #删除原来的目录

    1.8K31

    Excel表获取数据,显示中国地图上

    贵州省 13 0.26% 台湾省 8 0.16% 宁夏回族自治区 7 0.14% 海南省 5 0.10% 青海省 4 0.08% 香港 2 0.04% 将用户数显示中国地图上...第一步:获取excel数据 import pandas as pd # 读取Excel文件 df= pd.read_excel('user.xlsx') 第二步:获取china-shapefiles-master...geometry'], dtype='object') 然后用下面语句遍历所有列 for c in china.columns: print(china[c].head(10)) ...第三步:合并Excel数据和地图信息,地图信息的,FCNAME列与Excel数据的省列相同,作为关键字,将NaN变为0 #合并excel文件与地图文件,将NaN变为0 merged = china.set_index...('FCNAME').join(df.set_index('省')).fillna(0) 第四步:画图,将将用户数显示中国地图上。

    9710

    Github 开源项目贡献指南:开源工作获取报酬

    — @gvanrossum, “Programming Python” 有很多原因会让一个人觉得没必要因为他们开源项目中做的工作而获取报酬。...— @alloy, “Why We Don’t Accept Donations” 而对于其他人来说,特别是项目正在进行而且需要大量事件投入的时候,获取报酬似乎是唯一的方式让贡献者持续工作,不管是因为项目需要还是个人的原因...当我一开始做开源项目的时候,我可以迟一点再弄或者是回家了弄…(此处省略一万字)我可以和我的老板讨论我遇到的问题,我们我们自己使用的babel的经历获取灵感并且转换成要解决的问题。...几个例子包括: Sidekiq 为付费版本提供附加的支持 Travis CI 提供付费版本的产品 Ghost 一个有付费管理项目的非盈利组织 一些流行的项目,比如npm和Docker,甚至会寻找风投来支持他们商业上的发展...更详细的方案和案例研究,@nayafia写了一份指南教你如何通过开源工作获取报酬。

    3.5K10

    Jenkins前端打包内存溢出问题

    1.问题 公司项目vue构建,体积比较庞大,Jenkins上构建时,有新的内容提交时,第一次npm run build必失败,报内存溢出错误 如下所示: ?...查阅一些资料说是node基于V8引擎,使用内存时只能使用部分内存,64位系统约为1.7G,项目太大这种限制会很坑,第一个想法是突破这种内存限制,网上也有很多这种方法: 第一种:设置环境变量: export...NODE_OPTIONS=–max_old_space_size=4096 第二种:在运行命令增加 –max_old_space_size=4096 例如可以修改 package.json 的 scripts...第一个想法:失败后重试,反正一般情况下第二次必成功 jerkins失败重试:Jenkins失败自动重试 第二个想法: 查看了服务器使用的node版本,是10.15.3,而自己电脑最新的稳定版是12,打包完全没问题...原来jenkins上的系统设置已经设置了环境变量,写死的node环境地址,去掉即可: ?

    4.4K10

    vue 项目session获取对象,并且使用里面的属性

    django后端传给前段一个json对象,vue接收后如何保存在session,并且可以在其他的页面session拿出对象,用这个对象里面的属性 后端传值 ?...以上是django项目,后端返回给前段的一个json对象 前段获取 利用 JSON.stringify() 这个函数,将后端返回的json格式保存在session window.sessionStorage.setItem...("yhxx",JSON.stringify(res.data.data)) 保存后我们浏览器查看 ?...现在我们要从这个session里面获取这个对象,并且使用他里面的某一个属性 JSON.parse() 这个函数 就是将拿出来的数据转为对象 this.userinfo= JSON.parse(window.sessionStorage.getItem...('yhxx')) 我们vue页面使用的时候 ?

    5K30

    如何在Ubuntu 16.04上的Jenkins设置持续集成管道

    Jenkins收到通知时,它将检查代码,然后Docker容器对其进行测试,以将测试环境与Jenkins主机隔离。我们将使用示例Node.js应用程序来展示如何为项目定义CI/ CD进程。...如果您丢失了令牌,请GitHub帐户删除当前令牌,然后创建一个新令牌。 现在您已拥有GitHub帐户的个人访问令牌,我们可以配置Jenkins来监视您项目的存储库。...我们也repo添加了一个Jenkinsfile。Jenkins读取此文件以确定要对存储库运行构建,测试或部署的操作。它是使用Jenkins Pipeline DSL的声明版本编写的。...Build步骤打印诊断消息,然后运行npm install以获取所需的依赖项。Test步骤打印另一条消息,然后按package.json文件的定义运行测试。...因为Jenkins初始构建过程获得了有关项目的信息,那么当您保存页面时,它将在我们的GitHub项目中注册webhook。 您可以通过转到GitHub存储库并单击“设置”按钮来验证这一点。

    6K30

    Jenkins构建信息推送钉钉(个人定制)

    前言 公司内部持续集成用的Jenkins,办公通讯用的钉钉,代码维护用的GitLab。 持续集成的构建详情日常开发需要频繁查看,过程是否报错,提交的概要。...commit 的变动记录 展示构建的分支并支持跳转到 gitlab 的分支 支持文档链接传入 支持同时把信息推送给多个群 没有用到第三方库,都是用 node 的内置 api 实现文件读取操作及 http...`**打包版本:** ${PkgVersion}` : "", "{{RepoRecentTitle}}": RepoRecentCommitMsg ?...mdStr.replace(re, v); } return mdStr; } module.exports = mdTemplateStr; 复制代码 查询 changelog 文件是否存在 先判断项目根目录是否存在对应的...和 jenkins 高度耦合,很多基础信息都是 jenkins 内置临时环境变量拿的 仓库信息基本所有基础信息支持覆写,不然也会 jenkins 提供的临时环境变量构建的Git仓库信息 repo &

    1.1K20

    【架构师(第二篇)】脚手架架构设计和框架搭建

    不满足需求:jenkins,travis 通常在 git hooks 触发,需要在服务端执行,无法覆盖研发人员本地的功能,如:创建项目自动化,本地 git 操作自动化等。...脚手架的执行原理 脚手架执行原理如下 终端输入vue create project 终端解析出 vue 环境变量通过 which vue 找到 vue 命令, 目录所在 /node/bin/vue...解析 package.json 文件 ,根据文件的 bin 字段, /node/bin 目录下创建软连接,软连接指向 bin 字段规定的文件,也就是 lib/node_modules/@vue/cli.../usr/bin/env node 它的意思就是环境变量查找使用 node 命令来运行此文件。 为什么说脚手架本质是操作系统的客户端?...因为 node 本身是一个客户端, windows 系统下,可以看到 node 的安装目录node 是以 node.exe 的形式出现的。

    1.4K30

    很多人上来就删除的package-lock.json,还有这么多你不知道的!

    首先要从最近接连出现两起有关 npm 安装 package.json 依赖包,由于依赖包版本更新 bug 造成项目出错问题说起。...一般的,主版本不变的情况下,不会带来核心功能变动,API 应该兼容旧版,但是这在开源的世界里很难控制,尤其复杂项目的众多依赖包难免会引入一些意想不到的 bug。...如果 package.json 的 semver-range version 和 package-lock.json 版本兼容(package-lock.json 版本 package.json 指定的版本范围内...如 package.json 某个包的版本是 ^1.1.0,npm 就会去仓库获取符合 1.x.x 形式的最新版本获取模块实体。...总结 项目以后重新构建,由于依赖树中有版本更新,造成意外事故是不可避免的,究其原因是整个依赖树版本没有锁死。解决方案分为如下四种: package.json 中固定版本

    3.8K50

    长文带你深入【前端脚手架开发原理到实战开发】 | 技术创作特训营第五期

    1.不满足需求:jenkins,travis通常在git hooks触发,需要在服务端执行,无法覆盖研发人员本地的功能,如:创建项目自动化,本地git操作自动化等。...2.定制复杂:jenkins, travis 定制过程需要开发插件,其过程较为复杂,需要使用java语言,对前端同学不够友好使用角度理解什么是脚手架脚手架简介脚手架本质是一个操作系统的客户端,它通过命令行执行... 指明 node 环境#!.../usr/bin/env nodeconsole.log('cli test')3.package.json 指定 脚手架名称 和入口文件"bin": { "cli-test": "bin/index.js...将当前项目 node 全局 node_modules 移除2.npm unlink your-lib :将当前项目中的库文件依赖移除脚手架命令注册和参数解析实现注册一个命令:curry-cli-test

    66820

    前端运维部署那些事

    配置package.json { "name": "kutil", "version": "1.0.0", #版本名称 "scripts":[], # 可执行的脚本命令 "repository...2. jenkins jenkins作为一个可扩展的自动化服务器,可以用作简单的 CI 服务器,具有自动化构建、测试和部署等功能,简而言之,jenkins可以方便我们日常的前端项目版本更新迭代(开发...sh "docker run --name frontend -p 80:80 frontend:latest" } 4.PM2 PM2是node进程管理工具,可以利用它来简化很多node应用管繁琐任务...4.3 高阶应用 项目根目录添加一个processes.json { #apps是一个数组,每一个数组成员就是对应一个pm2运行的应用 "apps": [{ "name": "...,如果是规则复杂的话,可以结合nginx+lua 做一些些灰度的业务逻辑 1.根据Cookie实现灰度发布 通过获取cookie设置的版本号来区分 upstream test1 { server

    1K30
    领券