Node.js, which method to use in an enterprise environment using Jenkins and Chef?

Let me explain the context first.

Context

We are currently working with the Jenkins server and are using the Chef Server for our configuration management. We are moving towards a more continuous deployment environment, and this is the workflow that I worked on:

  • The code gets a GIT flag
  • Gitlab launches Jenkins to launch a new build
  • Jenkins pulls the last code and runs npm install
  • Jenkins creates RPM using FPM
  • RPM is uploaded to the RPM repository
  • Jenkins downloads the chef cookbook, which is located in the git application repository for Chef Server.
  • Jenkins launches a new application deployment by running the chef client.
  • The new RPM is installed in the heap for deployment.

( ) -. RPM . Berkshelf.

Node.js, , ( 3+ , ).

, , , , , RPM , ( Jenkins) , . RPM - , , .

, , .

:

  • (, Amazon)
  • ( - , , )
  • , , ; .
  • , , , , Node.js(, ).

Heroku , . ( ).

, , :

  • rsyncing npm install , , ? , ? ( Java PHP, PHP , FTPing , Java ).
  • RPM Tarbal? ( RPM , , ).
  • , " Deployment" Chef, , monit, init script () - nginx. git. -, , . -?
  • ( ), ? ? ( Docker, , , , ).

, , !

+4
1

1) npm . , , tarball/docker lxc container/VM image/ . . LXC. : .

2) script tarball git . , . nginx - - , RPM DEB .

3) -, . , . . , .

4) . , , ( , . , ). . , , .

+4

Source: https://habr.com/ru/post/1546045/


All Articles