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, , , , ).
, , !