Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   SPA и статика при CI (https://javascript.ru/forum/server/52822-spa-i-statika-pri-ci.html)

melky 08.01.2015 21:36

SPA и статика при CI
 
есть задача интегрировать непрерывную интеграцию в текущий проект. сделать это легко (как мне кажется) - с помощью web hooks на приватном репозитории bitbucket.

при заливке изменений в репозиторий будут проводиться тесты и обновляться код на удаленке из репозитория (как я представляю себе)

конкретно думаю делать через бесплатный https://codeship.com

но вопрос - а что со статикой? собирать клиентский код (сжимать картинки и скрипты\стили) на удаленке - не вариант.

как обычно поступают со статическими ресурсами в случае непрерывной интеграции?

скорее всего, я совсем ничего не понимаю, так прошу прояснить джуниору :)

... или я усложняю, и мне нужно закачивать собранную статику в репозиторий, чтобы оттуда это преспосойненько скачивать?

kobezzza 09.01.2015 11:24

Если говорит о проектах, то обычно такие вещи делаются предварительно, т.е. на этапе выкладки. На сервере можно гонять тесты, но собирать лучше ничего не стоит.

melky 09.01.2015 11:59

Цитата:

Сообщение от kobezzza (Сообщение 350391)
Если говорит о проектах, то обычно такие вещи делаются предварительно, т.е. на этапе выкладки. На сервере можно гонять тесты, но собирать лучше ничего не стоит.

получается, в репозиторий GIT я заливаю собранную статику?

kobezzza 09.01.2015 12:09

Цитата:

Сообщение от melky (Сообщение 350397)
получается, в репозиторий GIT я заливаю собранную статику?

Угу, кстати тоже самое касается подгружаемых модулей, даже в доке по NPM про это написано.

melky 09.01.2015 12:24

Цитата:

Сообщение от kobezzza (Сообщение 350398)
Угу, кстати тоже самое касается подгружаемых модулей, даже в доке по NPM про это написано.

да ну нафиг, папка node_modules 200 мб весит)

https://docs.npmjs.com/all
Цитата:

Should I check my node_modules folder into git?

Usually, no. Allow npm to resolve dependencies for your packages.

For packages you deploy, such as websites and apps, you should use npm shrinkwrap to lock down your full dependency tree:

https://docs.npmjs.com/cli/shrinkwrap

If you are paranoid about depending on the npm ecosystem, you should run a private npm mirror or a private cache.

If you want 100% confidence in being able to reproduce the specific bytes included in a deployment, you should use an additional mechanism that can verify contents rather than versions. For example, Amazon machine images, DigitalOcean snapshots, Heroku slugs, or simple tarballs.
точно. мне нужно заблокировать версии ВСЕХ зависимостей через
Код:

npm shrinkwrap
ну и при выгрузке скачивать их через
Код:

npm install --production


Часовой пояс GMT +3, время: 23:28.