V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
CHANGEX929
V2EX  ›  问与答

请教一下各位大佬关于 Jenkins 构建前端的问题!

  •  
  •   CHANGEX929 · Jun 30, 2020 · 4267 views
    This topic created in 2127 days ago, the information mentioned may be changed or developed.

    目前公司使用的是 Jenkins 构建 Vue 前端工程,但是一直卡在 npm install 上老半天也不动,也不报错,求解。

    Supplement 1  ·  Jun 30, 2020
    我目前的临时方案是在本地打包,将 dist 目录 push 至 GIT 版本库,jenkins 只要将 dist 目录推到目标服务器就好了
    30 replies    2020-07-02 16:37:35 +08:00
    linshuizhaoying
        1
    linshuizhaoying  
       Jun 30, 2020   ❤️ 1
    源可能有问题 建议换成淘宝源
    carlton
        2
    carlton  
       Jun 30, 2020
    是不是 jenkins 服务器不通外网?或者 npm 的原生源太慢导致的,可以试着把 npm 源换成淘宝的
    CHANGEX929
        3
    CHANGEX929  
    OP
       Jun 30, 2020
    @linshuizhaoying 感谢回复,目前用的是淘宝源。服务器不通外网是真的,但是已经代理了淘宝源了,在同样的网络环境下,我的本地 Windows 电脑是可以正常 install 的
    CHANGEX929
        4
    CHANGEX929  
    OP
       Jun 30, 2020
    @carlton 已经换成淘宝源,还是一直在 npm install
    CHANGEX929
        5
    CHANGEX929  
    OP
       Jun 30, 2020
    有个问题是,有时候很快,有时候就一直卡着不动,很奇怪
    hahahahaha234
        6
    hahahahaha234  
       Jun 30, 2020
    自己在本地 npm install, 传个 dist 上去啊,临时方案哈,jenkins 脚本把 npm install 注释掉
    CHANGEX929
        7
    CHANGEX929  
    OP
       Jun 30, 2020
    @hahahahaha234 我本地是 Windows,Jenkis 是在 Linux,这样不行的,暂时没有 Linux 机器可以让我 npm install
    vvong
        8
    vvong  
       Jun 30, 2020
    会不会是卡到安装 node-sass 那里了
    hahahahaha234
        9
    hahahahaha234  
       Jun 30, 2020
    一般来说,jenkins 从 gitlab 拉取代码的啊,你本地 build 完事有了 dist,传到 gitlab,jenkins 自己拉取应该可以把
    ghost3281
        10
    ghost3281  
       Jun 30, 2020
    登到 Jenkins 服务器手动执行一遍?要不就是权限有问题
    CHANGEX929
        11
    CHANGEX929  
    OP
       Jun 30, 2020
    @ghost3281 谢谢回复,我这边没有权限登录 Jenkins 服务器
    CHANGEX929
        12
    CHANGEX929  
    OP
       Jun 30, 2020
    @vvong node-saas 我上传到 git 上了
    CHANGEX929
        13
    CHANGEX929  
    OP
       Jun 30, 2020
    @hahahahaha234 你这是一个好思路!!
    cominghome
        14
    cominghome  
       Jun 30, 2020
    “我这边没有权限登录 Jenkins 服务器”

    那说明 jenkins 有人维护啊,让他去 workspace 目录下手动跑一下 npm install 试试
    yuningWang8
        15
    yuningWang8  
       Jun 30, 2020
    估计是其它依赖拉不下来呗。毕竟好多二进制文件都再 npm 库里。
    Saurichthys
        16
    Saurichthys  
       Jun 30, 2020
    部署服务器是 windows 还是 linux,如果是 windows 需要排查一下 jenkins 有没有把 npm 加入系统命令
    fhw12372
        17
    fhw12372  
       Jun 30, 2020
    应该是网络卡住了,删掉 node_modules 文件夹在 linux 里面试下执行,成功后再去 jenkins 跑
    不建议用淘宝源,直接用 npm 官网源会少很多问题
    node-sass 跟 chromedriver 下不了的可以单独设下淘宝源,具体可以看下官方库的 readme,基本上都有写
    carlton
        18
    carlton  
       Jun 30, 2020
    @CHANGEX929 #3 服务器不同外网肯定失败呀...
    CHANGEX929
        19
    CHANGEX929  
    OP
       Jun 30, 2020
    @carlton 公司内部的 npm 仓库已经代理了淘宝源了
    CHANGEX929
        20
    CHANGEX929  
    OP
       Jun 30, 2020
    @fhw12372 我试一下!
    magicZ
        21
    magicZ  
       Jun 30, 2020
    我们项目也是这么搞得,直接 git 上传 dist,jenkins 就起到一个钩子拉代码的作用。不过我们服务器直接 npm install 也不行,淘宝源,v6X
    buffzty
        22
    buffzty  
       Jun 30, 2020
    1. 用 yarn
    2. 检查下是不是有 puppeteer ,node-sass,sentry 这种 如果有请定义镜像下载环境变量
    3. 使用淘宝源
    4. 这跟 jenkins 无关, 你 npm i 是在服务器上运行的. jenkins 只负责展示服务器的输出.
    5. 如果用 yarn 还卡 用 yarn --verbose 可以查看卡在哪里了
    w292614191
        23
    w292614191  
       Jun 30, 2020
    我这边是直接复制文件夹到 nginx 目录下,就算构建完了。哈哈哈哈哈
    mikuazusa
        24
    mikuazusa  
       Jun 30, 2020
    和 jenkins 无关,必须先手动在构建机器上成功构建,再用 jenkins 来调用命令构建。
    zengtv
        25
    zengtv  
       Jun 30, 2020   ❤️ 1
    删除一下 node_modules 文件夹试试
    CHANGEX929
        26
    CHANGEX929  
    OP
       Jun 30, 2020
    @buffzty 我猜是服务器的问题,因为我执行 npm install yarn -g 他也卡着不动。但是后来我又一次构建的时候 npm install 很快就完成了。
    IGJacklove
        27
    IGJacklove  
       Jun 30, 2020
    有 npm 的日志吗? npm install --verbose
    可以看一下卡在哪一步了,确定问题在哪之后就很好解决了
    CHANGEX929
        28
    CHANGEX929  
    OP
       Jun 30, 2020
    @IGJacklove 原来可以这样! 下次再出问题的时候我拿这个分析一下试试。谢谢!
    linvaux
        29
    linvaux  
       Jun 30, 2020
    npm install yarn -g
    yarn install
    yarn run build
    CHANGEX929
        30
    CHANGEX929  
    OP
       Jul 2, 2020
    @linvaux 问题是 npm install yarn -g 这条命令都一直卡住
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2845 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 71ms · UTC 00:02 · PVG 08:02 · LAX 17:02 · JFK 20:02
    ♥ Do have faith in what you're doing.