I have an Angular app, it is served via a small NodeJs app.
I have a Jenkins Job who build my app and package it.
The output artifacts are a dist
directory with the angular app and the node app.js
file to do the serving.
I want now to take those artifacts to push them to bluemix.
The thing is :
package.json
file for cloudfoundry to detect the nodeJs buildpackpackage.json
bluemix/cloudfoundry(?) execute npm install / build / test
commandsI already have a builded application, so I simply need to call node app.js for my app to be served. And in terms of devops I would prefer to keep the Only Build Once good practice in place.
My current bypass is to have an empty package.json
to trick bluemix.
So, I want to know if It's possible to deploy a node application on bluemix without needing a package.json
?
Or at least disable the npm
commands ?
I just want bluemix/cloudfoundry(?) to do a node app.js
Thanks for your help
There are two ways (manifest.yml and command line) to target a specific build pack. This webpage documents the model https://docs.cloudfoundry.org/buildpacks/node/node-tips.html#discovery
You may also want to consider shrinkwrap (https://docs.npmjs.com/cli/shrinkwrap) for locking the versioning of your dependencies.
If you combine these two, I think it gets you closer to your goals.