Blog

The latest expert opinions, articles, and guides for the Java professional.

Release Management for Enterprises

Tools of Choice

Here are the tools you will use, and the pipeline you will build out.

Release Management for Enterprises with GitHub, Artifactory, Arquillian, Bamboo, Selenium, LiveRebel


0. Identify Your Artifacts

This is step 0 because it’s all about preparation. Artifacts are pretty much the results of a development project, and the items you will need to take these deliverables to your users. Go ahead and list all these deliverables and items. We’re sure two come to mind: source code and built binaries. Here’s more:

  • Environment configuration

  • Database changes

  • Test results

  • Gates and required approvals along the pipeline

These artifacts are crucial components of the pipeline, and travel through it in order to deliver the final product or experience to your end users.

 


1. Create a source code repository using GitHub

This step is mentioned for the sake of completeness. Your development team is ideally already using a version control system (VCS) such as Subversion, Git, Mercurial or CVS.

However, if you’re trying this out on your own or are starting a new project, we suggest trying out Github, an incredibly popular remote repository for Git that takes only a couple of minutes to set up. So, for this exercise we will use GitHub.

  1. Sign up/Login into your GitHub account

  2. Click on the “new repo” button

  3. ->

  4. Fill out the form

  5. …and that’s really it! You’ve set up a remote Git repository. You can now clone it, push changes into it, and integrate into your delivery pipeline.


    2. Create Artifact Repositories using Artifactory

    Artifact repositories store your software product’s deliverables. They specialize in storing artifacts and their metadata and cataloguing their versions so that they can be quickly retrieved for development or deployment. Modern repositories provide other features like proxying to central repos, working with artifact dependencies and security. For the purposes of this exercise, we will just use the storage functions.

    Let’s set up Artifactory by JFrog:

    1. Download the Artifactory ZIP file. Use wget -O < URL > to download from your prompt.

    2. Extract and start artifactory:

      • unzip artifactory ZIP file

      • run artifactory.sh under the bin directory

    3. Configure a repository:

    Artifacts can either be stored forever (e.g. major releases) or temporarily (e.g. quick and dirty builds). In repository language, they are called releases and snapshots respectively. To keep things simple, we’ll allow snapshots so our developers can upload any artifacts they choose.



    DOWNLOAD THE PDF

Responses (2)

  1. Avatar  

    jennifer

    August 22, 2013 @ 1:58 pm

    Was there a reason behind using GitHub, instead of Atlassian’s Stash product?

  2. Avatar  

    Oliver White

    August 26, 2013 @ 7:02 am

    Not in particular, we just wanted to experiment with other tools out there and expose our readers to as many different technology companies as possible. We also produced a similar report last year with free or OSS tools entitled “Pragmatic Continuous Delivery with Jenkins, Nexus and LiveRebel” — check it out: http://zeroturnaround.com/rebellabs/zt-labs-tutorial-pragmatic-continuous-delivery-with-jenkins-nexus-and-liverebel/

RSS feed for comments on this post.

Leave a comment