In previous post we have seen steps to create cloud foundry web app on IBM Bluemix platform.After creating the app the next step is to develop and deploy your app on Bluemix.
Easy and fast develop deployment cycle is important to get your app up and running within short time.Keeping this in mind IBM provides different deployment options.In this post I will touch upon all the options.You can select the option based on your requirement and preference.I will also mention the one which I prefer.
After creating the App you can see the instructions for below options.From the App Dashboard page look for Coding option on left hand side.Click on the coding option.It will display a page which shows all the options mentioned along with basic instructions for installation and pushing your code.
Deploying apps with IBM Eclipse Tools
This method is suited for people comfortable with Eclipse.IBM comes with Eclipse plugins which help you develop and deploy your apps to Bluemix directly from Eclipse.So people having development experience with Eclipse will find this option very encouraging.
You get the benefits of using IDE for development.The only problem is that you can use this method only with Liberty for Java apps and Node.js apps.So if you are developing apps with different runtime then you may not use this method.This seems to be a limitation of the approach as many develops may be interested in other runtimes.I will not cover installation and other instructions of this method in this post.
IBM has come up with fairly detailed tutorial covering basic topics like set up of development environment and deploying apps using this approach.I have not used this method myself as I am not Eclipse user.Also I found other options more friendly then this one.
Cloud Foundry command line interface
This option is my favorite.I have used Cloud Foundry command line interface to push my apps on Bluemix.The only problem with this method is that you have to deal with command line.You can use Cloud Foundry commands only to push your completed code to Bluemix.
If there is no error in your code then it will get deployed successfully.CF command line interface does not help you in app development.You need to download the starter code and then make changes as per your requirement.After making changes you need to push the complete source code folder to Bluemix using CF command line.
So you will have to use separate code editor for development purpose.Also many people does not like command line interface.So for them it may not be preferred option.But if you are comfortable with above two drawbacks then this option is for you.
It works with all runtimes supported by Bluemix.It even works with community runtimes as well.You can also create your own runtime.This feature is not available in other options.So if you want to master most powerful tool for development and deployment then you should start and play with this option.
I have covered most useful Cloud Foundry commands in a separate tutorial.Once you master these commands then this option will be most productive and easy to use.Apart from app deployment it can also be used to do administrative tasks as well.I will cover those commands in Cloud Foundry commands tutorial.
I have tried this option and it does work well.But above I said I prefer Cloud Foundry command line option.The reason is I have all the tools installed on my desktop.Also I was working on a single test app.I was the only developer.But if you are creating something more than that or you have multiple developers then this one is the best option.
In this option you will not have to install anything on your system.IBM provides all the tools.You can add GIT to your app.You can have all the features of GIT for development.Also Devops has builtin Web IDE.So you have fully features IDE for development.Devops also helps you seamlessly develop and deploy your apps on Bluemix.
With Devops you can cut on your development costs.You will not have to install tools on individual developer’s system.Devops has all the tools installed.The Web IDE is based on Eclipse.So you will feel at home if you have worked on Eclipse before.You can also connect your App GIT to Github repository.
Bluemix Live Sync
Bluemix Live Sync method is applicable only for Node.js app.In this method you can sync a folder with an app on Bluemix.You will have to install Bluemix Live Sync command line interface first.Then you will have to map a local folder with Bluemix app.Once your app and folder mapping is in place you can use this feature.
Your Bluemix app is automatically updated if you update local files.So you do not have to push local app code to Bluemix as in case of Cloud Foundry.Devops has support for Bluemix Live Sync.You do not have to install or run any commands.The IDE has option to Live Sync the changes within Bluemix platform.
I have listed all the options presently available for coding and pushing your app on Bluemix.Each one has its benefits and drawbacks.Also the choice of tool depends on your personal preference as well as requirement.But if you have not yet decided or have no preference then you can refer above details to make decision.
The first option of Eclipse tool is not recommended in most cases.It may be good for personal app development.But it requires installation of few softwares on your system.Cloud Foundry command line is most powerful.But it is command line based.You need to install it on your system and push the files from the system.
It is also good for personal app development.The only option which is for Enterprise app development is Devops.You can have your team work on app all at a time and push the changes directly to Bluemix.The collaborative app development and IDE on Devops make it most preferable development environment for all kinds of apps.
Devops method also does not require you to have any software on your system.You can connect to it and write your code on it.So whether you are developing a personal app or any professional app you can consider Devops.But it may require bit of learning as well.You have to get familiar with Devops options and work flow.The initial effort is worth spending.
Which of the one you are using?