November 18, 2016 | Written by: Philippe Mulet and Michael Elder
Categorized: DevOps | How-tos | Trending | What's New
Share this post:
IBM Bluemix Continuous Delivery has graduated from a beta to a live service! Your teams can now use end-to-end solutions to deliver innovative new services to users.
Continuous Delivery enables speed with control, at enterprise scale. The service includes several components that you’re likely familiar with, including Delivery Pipeline, the Eclipse Orion Web IDE, and the Open Toolchain fabric, which integrates your favorite tools into bundles to deliver immediate value to your teams. Recently added is IBM Cloud DevOps Insights, an experimental tool that uses analytics to advise on the likelihood of deployment success.
Start using Continuous Delivery today.
Our team has been on the this journey all year. In May 2016, we delivered Bluemix toolchains as an experiment. Toolchains graduated to beta in September 2016. Now, with Continuous Delivery, toolchains are a live service.
As we’ve been forging our journey with clients to cloud-native microservice architectures, we’ve been focused on critical problems within the enterprise — pre-integrated solutions of best of breed tools to enable you to deliver at cloud-speed, with deep insights and reporting about the health of your overall delivery process.
Take a look at the scenarios that you can adopt and build on today. When you get started you’ll find two optimized paths.
Path 1: Quickly deploy code from GitHub to Bluemix
Have code that you must deploy? You can integrate all of your repositories at GitHub.com and deploy Cloud Foundry or container applications with a simple yet extensible pipeline.
Get Started with a Delivery Pipeline
When you set up a pipeline, you can clone, fork, or create a Git repository. The pipeline is automatically defined to build and deploy the corresponding application to Bluemix. With a few clicks, you’ll have a simple toolchain that is complete with GitHub Issues, a source-control repository, and a delivery pipeline.
Each time you push code changes to your GitHub repository, another build and deployment are triggered. You can customize the pipeline with more jobs or stages. You can also add more tools to your toolchain by selecting them from the tool integrations catalog.
Path 2: Set up an end-to-end solution of industry-leading tools
If your team already delivers to the cloud, your delivery process probably involves more than just a pipeline — you need an integrated solution to both deliver and manage your apps. With toolchains, you get pre-integrated templates of tool sets that leverage cloud-based solutions, such as Slack, PagerDuty, and Sauce Labs.
Take a closer look at one of the templates: the Microservices toolchain, which demonstrates an online store sample application that consists of three microservices. The toolchain is preconfigured for continuous delivery, source control, blue-green deployment, functional testing, issue tracking, online editing, and alert notification. You can find more templates at bluemix.net/devops/create.
Get Started with a Microservices complete toolchain
As part of configuration, you can clone the base example into three GitHub repositories of your choice. Each repository is associated with a distinct pipeline to achieve full independence. To make rapid iterations on your application, you can use the built-in web integrated development environment (IDE), which is based on Eclipse Orion. In addition, you have access to early support for DevOps Insights, which provides test report aggregation and automated policy decisions that are based on cover coverage and automated test results. A few of the preselected third-party tool integrations require credentials. If you don’t have them, you can ignore them and reconfigure or remove them later. Click Create, and you get a toolchain that is ready to use!
Click the pipeline for the catalog-api microservice to see how it was preconfigured to build, test, and deploy across multiple stages: the DEV, TEST, and PROD environments. In particular, notice the gate job on the build stage of the pipeline. The gate acts on analytical decisions from DevOps Insights.
Return to the toolchain and click DevOps Insights to see an aggregated build and test report. You can also drill down into the preconfigured policy to review or adjust its decision criteria, such as test coverage and automated test results.
To test the preconfigured decision gate, you can make a simple code change, such as uncommenting a block of code. For example, in catalog-api, edit the
/routes/item.js file and uncomment the block comment in the
#loadTest() function. Then, do not add more test cases so that the code/test ratio will fall behind the configured threshold. Deliver your change by using the Web IDE, and watch the catalog-api pipeline automatically build, but fail to deploy because of a code coverage regression.
You can view the associated decision report that explains the code coverage regression by exploring the pipeline’s job log.
- Your feedback is welcome. To provide feedback, click the Feedback button, which is in the lower-right of most DevOps pages.
- If you have technical questions, post them on Stack Overflow, please tag your question with “ibm-bluemix” and “devops”.
- If you have questions about Continuous Delivery, post them on the IBM developerWorks dW Answers forum. Include the “devops-services” and “bluemix” tags.
- The first time you use a repository from GitHub.com, you are prompted with an authorization request. This request is a one-time authorization with GitHub.com that allows the source code to be fetched by pipelines and commit events to be obtained. You can always revoke this authorization later in your GitHub profile settings.