V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
CHANGEX929
V2EX  ›  问与答

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

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

    目前公司使用的是 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   ·   实用小工具   ·   1055 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 20:10 · PVG 04:10 · LAX 12:10 · JFK 15:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.