Did you deploy today?

4 Scenarios Your CI Strategy Should Support

Posted by Tom Trahan on February 26, 2015

Continuous Integration (CI) is a hot topic right now.  Companies have embraced the idea that automatically integrating software changes early and often is an effective approach to reduce cycle time, increase quality, and reduce end-to-end costs.

But what constitutes early and often?  (Hint: the earlier the better, and you should do it at multiple stages of your software delivery process.)

To identify where to introduce CI, it helps to understand how the need for CI changes as the complexity of your software delivery process grows. 

→ read more

Setting the JDK Versions on Java Images

Posted by Charlie Crawford on February 17, 2015

 

It's quick and easy to specify which JDKs to build your code against! With the aid of the JDK tag, you can instruct your minion to not only use a specific JDK, but even have it create a build matrix using multiple JDKs! The JDK tag can be used in both the comprehensive minv2 image, and in the Java specific ubuntu1404_java and ubuntu1204_java images. For example, let's say you want to verify that your app builds on both openjdk and oracalejdk. This can be done with by using the following snippet in your shippable.yml file:

language: java
jdk:
- oraclejdk7
- openjdk7

However, while the above snippet can be used in both the minv2 and java specific images, you must add a script to activate the JDKs in the ubuntu1404_java and ubuntu1204 images. This can be done by adding a few lines to the before_script section of your shippable.yml .
→ read more

Continuous Node.js Deployment to DigitalOcean

Posted by Charlie Crawford on February 12, 2015

Looking to continuously deploy your Node.js app to digital ocean? Tired of manually trying to configure git hooks to work with you? Is SCP just a little too old fashioned and clunky. Great news! Your search is finally over as today we'll show you how to combine Shippable and Dokku to fit your deployment needs!

→ read more

Specifying Deployment Targets for Different Git Branches

Posted by Charlie Crawford on February 03, 2015

So, you already have Shippable setup for all your CI needs, and you're itching to take the plunge into CD? Maybe the thing that's been holding you back is you aren't sure how you can easily deploy to your dev, staging, and prod machines, without accidently pushing to production prematurely? The good news is Shippable can easily be setup to accommodate such a work flow! You can specify different deployment procedures based on your git branch.

Let's say you want to use want Shippable to perform a build for every commit, but you only want to do a deployment if it's a commit to the master branch. We keep track of what branch was pushed to via the BRANCH environment variable; This environment  variable can be used to implement branch specific logic. Here is an example shippable.yml snippet:

env:
global:
- APP_NAME_PROD=shroudd-headland-1758

after_success:
- if [ "$BRANCH" == "master" ]; then git push -f git@heroku.com:$APP_NAME_PROD.git master; fi

This will push your app to Heroku, but will only do so for successful builds from the master branch. For those unfamiliar with using Shippable for continuous deployment to Heroku, please refer to our documentation.

This basic idea can be extended in many ways! For example, you could send commits from master to prod, and all other commits to dev:

→ read more

AWS Code Deploy and Shippable

Posted by Charlie Crawford on January 27, 2015

Here at Shippable, we have a strong history of working well with AWS workflows. With the recent release of AWS Code deploy, we wanted to take some time to let you know how easily you can use Shippable and Code Deploy together in your continuous deployment workflow!

First off, there are some prerequisites before your Shippable minions can trigger Code Deploy. On your AWS account, you must have the following setup:

  • An S3 bucket or Github repo to hold your project
  • Your AWS account's access and secret keys
  • A Code Deploy Application, Deployment group, and underlying EC2 resources

If you have any question on the above requirements, AWS provides detailed instruction on obtaining keys and setting up Code Deploy.

→ read more
______________________________

Subscribe to Updates

Ship code faster