How should CI/CD deploy to production environment - copy artifacts or git pull from the server?
There are lots of bad examples on the Internet.  Doing a git pull to distribute code is fabulous for development, but prone to all sorts of issues in practice.  It should not be used for production deploys without careful consideration of the negative consequences.


What happens when somebody checks out a different branch?  You'll be sad when you keep git pulling and nothing new shows up.
How do you verify that the machine is running the expected release?  You can get this from git, but it is easier with most artifact systems.
How do you release to machines that are on an air-gapped network?  Simulating your git server on a private network will be a fun time for you.


I'm not sure what format npm uses for artifacts, but it is also probably a good idea to back them up off of the CI/CD server and use a dedicated set of machines for serving up the artifacts.  If you spin up 100 machines at once would your CI/CD server handle it or fall over?  Isolating the artifact serving will avoid your CI/CD server being swamped and useless until the deploy is over.