开发者社区 > 云效DevOps > 正文

请教一下,云效流水线部署前端项目,每次都会 npm install 导致构建时间很长,怎么配置让 ?

请教一下,云效流水线部署前端项目,每次都会 npm install 导致构建时间很长,怎么配置让 package.json 变动的时候才 install ?不要每次都 install 问题2:好的,谢谢,每次都安装依赖太费时间了,使用云效内置的node版本

展开
收起
真的很搞笑 2023-06-21 13:04:27 622 0
2 条回答
写回答
取消 提交回答
  • 针对问题1,你可以在构建前先对比本地的package.json和最新的package.json文件,如果两个文件一致,则不再执行npm install,否则才执行npm install。以下是一种可以实现的shell脚本:

    #!/bin/bash
    
    # 检查 package.json 是否有更新
    diff package.json <(curl -s https://raw.githubusercontent.com/xxx/xxx/master/package.json) >/dev/null
    
    if [ $? -eq 0 ]
    then
      echo "No changes in package.json, skip npm install."
    else
      echo "Changes detected in package.json, run npm install."
      npm install
    fi
    
    # 构建
    npm run build
    # ......
    

    以上是一个简单的例子,你可以根据自己的实际情况修改。这样可以减少大部分不必要的npm install操作,提高构建效率。

    针对问题2,你可以在云效中使用已经安装好的Node版本。具体操作如下:

    1. 在云效的“流水线管理”页面中选择需要配置的流水线,进入流水线详情页。

    2. 在流水线详情页的左侧导航栏中,选择“环境配置”。

    3. 在“环境配置”页面中,点击“+ 添加环境”,输入环境名称和描述信息。然后在“环境变量”栏目中,添加一个名为PATH的环境变量。

    4. 将本地安装的Node路径加入到环境变量中。例如,如果你的Node安装在/usr/local/node/bin目录中,则将以下内容添加到PATH环境变量中:

    /usr/local/node/bin:$PATH
    
    1. 点击“确定”保存环境配置信息。

    2. 在流水线中,使用新建的环境配置。具体操作方法如下:

    (1)在流水线步骤中找到需要使用新环境的步骤。

    (2)点击该步骤的设置按钮,在弹出的对话框中,找到“环境配置”选项,并在下拉列表中选择新建的环境配置。

    (3)点击“确定”保存步骤设置。之后,该步骤就会在新建的环境配置中运行,使用该环境中的Node版本。

    通过以上步骤,你就可以使用云效内置的Node版本,并且避免每次都要安装依赖的问题。

    2023-06-21 17:21:11
    赞同 展开评论 打赏
  • 问题1:这个暂时是不行的,我去咨询下这个node构建缓存的进展 问题2:那您得去换一个node版本试一下,看着无法缓存还是和node版本里本身的缓存机制有关, 或者使用云效官方提供的node版本,会有from cache的提示,此回答整理自钉群“云效开发者交流群2群 阿里”

    2023-06-21 13:25:59
    赞同 展开评论 打赏

云效,企业级一站式研发协同平台,数十万企业都在用。支持公共云、专有云和混合云多种部署形态,通过云原生新技术和研发新模式,助力创新创业和数字化转型企业快速实现研发敏捷和组织敏捷,打造“双敏”组织,实现多倍效能提升。

热门讨论

热门文章

相关电子书

更多
基于webpack和npm的前端组件化实践 立即下载
基于阿里云K8S服务快速构建DevOps流水线 资料下载 立即下载
基于FAAS构建NPM同步CDN 立即下载

相关镜像