从gitlab ci部署Node.js项目

时间:2018-08-29 08:44:06

标签: node.js docker node-modules gitlab-ci

我是node.js的新手,我试图通过gitlab ci部署node.Js项目。但是在发现管道中的构建错误后,我意识到我将node_modules文件夹添加到了.gitignore,并且我没有将node_modules推送到gitlab。并且node_modules文件夹在本地为889MB,我无法将其推送,因此我应该使用哪种方法从其他地方使用node_modules文件夹。

即node_modules路径始终存在,并且可以在远程服务器上访问!我是否需要在包中包含该路径。杰森

可以使用docker维护node_modules吗?那么我将如何保持针对每个项目的最新动态。

1 个答案:

答案 0 :(得分:5)

您不登录node_modules文件夹是正确的,它们在您运行npm install时会自动填充

这应该是gitlab ci中构建管道的一部分。流水线允许多个步骤,并且可以将伪像传递到下一个阶段。对于您的情况,您想保存通过运行node_modules创建的npm install文件夹,然后可以将依赖项用于测试或部署。

从npm v5开始,有一个锁定文件来确保您在本地运行的文件与在服务器上运行的文件相同

如果您要修复依赖关系并自动管理安全更新,还可以使用rennovate之类的东西来自动更新依赖关系。 (rennovate是开源的,因此可以在gitlab上运行)

一个非常简单的gitlab CI管道可能是:

// .gitlab-ci.yml
stages:
    - build
    - deploy

build:
    stage: build
    script:
        - npm install
    artifacts:
        name: "${CI_BUILD_REF}"
        expire_in: 10 mins
        paths:
            - node_modules

deploy:
   stage: deploy
   script:
     - some deploy command