When a project team grows, feature deployments become more frequent. Automating these deployments then becomes critical to optimize the development...
For further actions, you may consider blocking this person and/or reporting abuse
What about the
node_modules
folder? That is a gap in your argument. Your "artifact" isn't guaranteed to work 100% of the time because of potential system bindings (30% of modules have system bindings).Even if you don't need to build in the target environment, you will probably want to run
npm install
once in the environment to make sure all the dependencies are OK before continuing.This point is adressed in the tips just under the sentence you quoted:
Why not use Docker? Itβs made to do exactly this in a fool-proof way.
You're right, Docker can definitely help. But to introduce the concept of artifact-based deployment, I'd prefer to stay technology-agnostic.
How can this handle project which include unit and integration test?
On majors CI/CD, you can isolate tests from the build.
By default, they run the build phase if the tests pass.
Hence, you can have two commands
make test
andmake build
, and trigger these commands at the following steps.For example, you can see what Travis do: docs.travis-ci.com/user/build-stages/