DevOps

Share your code with the new Deploy to Bluemix button

Share this post:

Do you have sample applications built for IBM Bluemix that you want to share with others? It’s now a whole lot easier, with the introduction of the new Deploy to Bluemix button.

This button can be embedded in any readme, blog, article, webpage, etc., and link to a publicly visible Git repository such as from Git Repos and Issue Tracking, GitHub or elsewhere (tip: you can also choose a specific Git repository branch). It makes your readers immediately productive by providing a single action that deploys a copy of your application in their own Bluemix account. Whereas in the past, you had to explain step-by-step to users how to clone a Git repo, set up build tools, and provide the Cloud Foundry script to push it to Bluemix, the Deploy to Bluemix button now makes that a seamless, automated experience.

Here is a sample button you can try out, which demonstrates an application that requires compilation from Java source, and a Bluemix service (Cloudant) to be created:

Deploy to Bluemix

All you need to do to create the button is to insert a snippet of HTML or markdown to your web page, readme, blog, or article.  Here is the raw HTML snippet for the button above:

<a href="https://bluemix.net/deploy?repository=https://git.ng.bluemix.net/idsorg/sample-java-cloudant"
    target="_blank"><img src="http://bluemix.net/deploy/button.png" alt="Bluemix button"/></a>

or the markdown version:

[![Deploy to Bluemix](https://bluemix.net/deploy/button.png)](https://bluemix.net/deploy?repository=https://git.ng.bluemix.net/idsorg/sample-java-cloudant)

Let’s try it out! When you press the button, a page loads showing the sample application name to be deployed. Just sign up if necessary and log in with Bluemix to proceed.

Once you’ve logged in, you can select a region, organization, space, and edit the app name in the Delivery Pipeline section. The suggested app name is constructed from the name of your original Git repo and the time.

Clicking Deploy will automatically generate your own running instance of the application and backing service, as well as create a toolchain. The toolchain includes a new private clone of your Git repo, a pipeline for building and deploying code changes, the Eclipse Orion Web IDE for editing code on the Cloud, and an issue tracker.

Click the Delivery Pipeline card to see the status of the deployment of your app.

After the application is deployed, you can view your running application or edit it further using our Web IDE or any combination of editors and Git command tools. Each time you deliver changes to this Git repo, the delivery pipeline will automatically kick off and update your deployed app with the latest changes.  You can learn more about all the features provided by IBM Continuous Delivery here.

This sample works because the code repository contains two interesting files:

  • An Ant build.xml file, at the root, which causes compilation and packaging of the Java code. Compilation, packaging and actual deploying are powered by the delivery pipeline of your dedicated project, which supports many builder types, including Ant, Grunt, Gradle, Maven, npm, Shell Script, etc. If your application doesn’t need a compilation step, you don’t need a build file for your button to work. For example, many Node.js apps don’t require a compilation step and, therefore, don’t need a build file.
  • manifest.yml file at the root, which we augmented to trigger the backing service creation:
    declared-services:
      sample-java-cloudant-cloudantNoSQLDB:
        label: cloudantNoSQLDB
        plan: Lite

You can find all eligible Bluemix services, labels and plans by running a cf marketplace command (using CF Command Line Interface) or browsing the Bluemix catalog.

For more information, please check out the Deploy to Bluemix button documentation.

Add Comment
No Comments

Leave a Reply

Your email address will not be published.Required fields are marked *

More How-tos Stories

Customize Bluemix with your Git servers

You can now interact with your own GitHub Enterprise and GitLab instances from Bluemix public! Both the GitHub and GitLab tiles feature a new server dropdown menu, giving you the freedom to work with code on GitHub, GitLab, or in your own company’s GitHub Enterprise or GitLab instances.

Continue reading

Microservices: 5 Principles of Management

The benefits of a microservices architecture come with a price. The service management solution must deal with the architecture’s inherent dynamics, dependencies, and complexities to ensure that the application is available and performing. Ignoring these considerations could result in the microservice-based applications might behave worse than a monolithic application that was built in the traditional fashion. The principles of managing microservices explained in this post will help you avoid these pitfalls.

Continue reading

Choose a Git repository branch for your Deploy to Bluemix button

Do you want to use specific build input to deploy your app to IBM Bluemix as a part of an IBM Continuous Delivery toolchain? Now you can!

Continue reading