Bluemix is designed and build ground up taking care of Devops (the way to go for today's development). It has very minimal task for the developer. As a developer, I remember the pain of going to a continuous integration system 10 years ago. It took so much of effort to convince the operations and infrastructure team to allow us to use a server as build server. And possibly doing all these took a very long time - around a year to demonstrate. The delay was not because of the technical issues, but operational issues took most of the time. Then when we tried to do any changes to the development technology, we got stuck again to set up those build servers.
I am not here to describe my ordeals in setting up continuous build system. However, I just wanted to share my experience that I had earlier. Today almost every organization understands that delay is more costly than infrastructure. However, if the team need to set up everything of their own, it still needs significant effort and the costly time. Today, its the age of time-to-market.
Bluemix, the smart solutions for devops, provide click and set up continuous build and continuous deploy systems. And all this without setting up a build server by the team. Let us look at the service Delivery Pipeline from Bluemix here:
Bluemix Delivery Pipeline is a multi-stage continuous build and deploy service that you can configure and fireup with few clicks and still be able to get the bang!
As said that it is a multi-stage one, it allows one to create different stages for build and deploying. Every stage allows the user to add multiple tasks. The stages can be chained in a fashion that a later stage can pick up the output from a former stage and perform the tasks.
Let us just talk about the Build stage here first. The Build stage can be configured in a manner that it keeps a look on the repository and on push of a newer version/file to the repository, the update can be retrieved from the repository. Delivery Pipeline can then fire up a build server as per the configuration. It has built in support for build systems like Maven, Ant etc.
The build scripts can be configured in a way to pull the scripts from a repository or be defined within the stage. The build will be created in a jiffy.
The user can also add other jobs in the stage, like running unit tests or a code scan. The build artifacts are stored in this stage.
The Deploy stage can be configured to be kicked up the moment the Build stage is complete. In such a case, once the build artifact is available from the Build stage, the Deploy stage can take it in and run a deployment as per the configuration in this stage. It can deploy to vms or to IBM containers on Bluemix.
Again, the user can add additional jobs in the stage. There might be additional jobs of running different tests on it and also scan the application from security perspectives.
So its vision to market in few clicks!