Развертывание проекта nodejs из gitlab ci - PullRequest
0 голосов
/ 29 августа 2018

Я новичок в node.js, я пытался развернуть проект node.Js через gitlab ci. Но после обнаружения ошибки сборки в конвейере я понял, что добавил папку node_modules в .gitignore, и я не помещаю node_modules в gitlab. И папка node_modules локально имеет размер 889 МБ, я не буду ее выдвигать, поэтому какой подход я должен использовать, чтобы использовать папку node_module откуда-то еще.

т.е. Путь node_modules всегда присутствует и доступен на удаленном сервере! Нужно ли включать этот путь в пакет. Json

Можно ли поддерживать node_modules с помощью docker? тогда, как я буду поддерживать, чтобы оставаться в курсе конкретных проектов для каждого проекта.

1 Ответ

0 голосов
/ 29 августа 2018

Вы вправе не проверять папку node_modules, они автоматически заполняются при запуске npm install

Это должно быть частью вашего конвейера сборки в gitlab ci. Конвейер позволяет выполнять несколько шагов и передавать артефакты на следующую стадию. В вашем случае вы хотите сохранить папку node_modules, созданную с помощью команды npm install, затем вы можете использовать зависимости для тестирования или развертывания.

Начиная с npm v5, существует файл блокировки, чтобы убедиться, что то, что вы запускаете локально, будет таким же, как то, что вы запускаете на сервере

Также вы можете использовать что-то вроде rennovate для автоматического обновления ваших зависимостей, если вы хотите исправить их и автоматически управлять обновлениями безопасности. (rennovate является открытым исходным кодом, поэтому может быть запущен на gitlab)

Действительно простой конвейер CI gitlab может быть:

// .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
...