请教一下各位大佬关于 Jenkins 构建前端的问题! - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
CHANGEX929
V2EX    问与答

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

  •  
  •   CHANGEX929 2020-06-30 08:48:46 +08:00 3920 次点击
    这是一个创建于 1944 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    那说明 jenkins 有人维护啊,让他去 workspace 目录下手动跑一下 npm install 试试
    yuningWang8
        15
    yuningWang8  
       2020-06-30 09:20:19 +08:00
    估计是其它依赖拉不下来呗。毕竟好多二进制文件都再 npm 库里。
    Saurichthys
        16
    Saurichthys  
       2020-06-30 09:26:35 +08:00
    部署服务器是 windows 还是 linux,如果是 windows 需要排查一下 jenkins 有没有把 npm 加入系统命令
    fhw12372
        17
    fhw12372  
       2020-06-30 09:28:52 +08:00
    应该是网络卡住了,删掉 node_modules 文件夹在 linux 里面试下执行,成功后再去 jenkins 跑
    不建议用淘宝源,直接用 npm 官网源会少很多问题
    node-sass 跟 chromedriver 下不了的可以单独设下淘宝源,具体可以看下官方库的 readme,基本上都有写
    carlton
        18
    carlton  
       2020-06-30 09:32:34 +08:00
    @CHANGEX929 #3 服务器不同外网肯定失败呀...
    CHANGEX929
        19
    CHANGEX929  
    OP
       2020-06-30 09:36:40 +08:00
    @carlton 公司内部的 npm 仓库已经代理了淘宝源了
    CHANGEX929
        20
    CHANGEX929  
    OP
       2020-06-30 09:36:57 +08:00
    @fhw12372 我试一下!
    magicZ
        21
    magicZ  
       2020-06-30 10:13:35 +08:00
    我们项目也是这么搞得,直接 git 上传 dist,jenkins 就起到一个钩子拉代码的作用。不过我们服务器直接 npm install 也不行,淘宝源,v6X
    buffzty
        22
    buffzty  
       2020-06-30 11:04:32 +08:00
    1. 用 yarn
    2. 检查下是不是有 puppeteer ,node-sass,sentry 这种 如果有请定义镜像下载环境变量
    3. 使用淘宝源
    4. 这跟 jenkins 无关, 你 npm i 是在服务器上运行的. jenkins 只负责展示服务器的输出.
    5. 如果用 yarn 还卡 用 yarn --verbose 可以查看卡在哪里了
    w292614191
        23
    w292614191  
       2020-06-30 11:09:16 +08:00
    我这边是直接复制文件夹到 nginx 目录下,就算构建完了。哈哈哈哈哈
    mikuazusa
        24
    mikuazusa  
       2020-06-30 11:11:02 +08:00
    和 jenkins 无关,必须先手动在构建机器上成功构建,再用 jenkins 来调用命令构建。
    zengtv
        25
    zengtv  
       2020-06-30 15:07:21 +08:00   1
    删除一下 node_modules 文件夹试试
    CHANGEX929
        26
    CHANGEX929  
    OP
       2020-06-30 16:22:10 +08:00
    @buffzty 我猜是服务器的问题,因为我执行 npm install yarn -g 他也卡着不动。但是后来我又一次构建的时候 npm install 很快就完成了。
    IGJacklove
        27
    IGJacklove  
       2020-06-30 17:57:55 +08:00
    有 npm 的日志吗? npm install --verbose
    可以看一下卡在哪一步了,确定问题在哪之后就很好解决了
    CHANGEX929
        28
    CHANGEX929  
    OP
       2020-06-30 18:55:27 +08:00
    @IGJacklove 原来可以这样! 下次再出问题的时候我拿这个分析一下试试。谢谢!
    linvaux
        29
    linvaux  
       2020-06-30 23:04:48 +08:00
    npm install yarn -g
    yarn install
    yarn run build
    CHANGEX929
        30
    CHANGEX929  
    OP
       2020-07-02 16:37:35 +08:00
    @linvaux 问题是 npm install yarn -g 这条命令都一直卡住
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2563 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 15:04 PVG 23:04 LAX 08:04 JFK 11:04
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86