从gitlab ci部署Node.js项目

Cia*_*arz 4 node.js node-modules docker gitlab-ci

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

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

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

Pet*_*ger 6

您可以不检入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
Run Code Online (Sandbox Code Playgroud)