7 Best Software Deployment Tools

The way software is deployed has changed rapidly over the last few years. Developers and system administrators want to automate as much of the process as possible, and it’s easy to see why. A great automated software deployment system delivers:

  • Less manual labor
  • Easier collaboration
  • Fewer problems going from development, to testing, to production
  • Safer software deployment
  • Less headaches
  • Cost savings…

The list goes on. This has led to an abundance of fantastic software tools to help with all parts of this process. In this post, we’ll go through a software deployment tools list, to check out some of the best ways to streamline your DevOps process even further.

1. Jenkins

jenkins

Jenkins was one of the first automated deployment tools, and it’s now the most popular. It’s open source, has a large, active community backed by big names, and has countless plugins for you to work with. All very attractive qualities for a software tool.

Jenkins can be used to automate many different software tasks. Some common ones include:

  • Detecting bugs
  • Software tests
  • Analyzing code
  • Software deployment
  • Building projects

And more. On the Jenkins homepage, they boast:

  • Easy installation – shipped as a self-contained Java-based program, meaning it’s ready to go out-of-the-box for Unix, Mac, or Windows
  • Easy configuration – web interface for quick setup, including error checks and built-in help
  • Continuous release, integration, and delivery – can be used as simple CI server, or for more in-depth purposes and to help streamline your DevOps practices
  • Extensible – infinite possibilities with plugins
  • Distributed – can work collaboratively with multiple machines

Jenkins really is an all-in-one solution for project automation. Some common complaints about Jenkins are the over-reliance on third-party plugins. This can be a little unstable, and sometimes make it difficult to repeatedly reproduce Jenkins configurations.

Jenkins is open-source, written in Java, and released under MIT license.

2. Bamboo

bamboo

Next on the list is an awesome tool from software giant Atlassian. If you are already using some Atlassian products like Bitbucket or Jira, this tool could fit really nicely into your workflow. Built for continuous integration, deployment, and delivery, it covers some of the same ground as Jenkins but has some key differences:

Download Our Project Specification Template

  • Built-in Git branching workflows
  • Jira and Bitbucket integration (other Atlassian products),
  • Built-in Automatic testing

By automating the process of building, testing, and deploying, developers can focus on what’s really important – developing a great product.

Other cool features:

  • Mobile devs can deploy apps to the app stores automatically
  • You can use it with AWS, Docker, Amazon S3, and any programming language you like
  • Easy bug fixing tools
  • Release history archives
  • Many more

It’s not free, but the price is as low as $10 for small teams. Check out the full description here.

3. Octopus Deploy

octopusdeploy_logo

Octopus Deploy is “an automated release management tool for modern developers and DevOps teams”. Compatible with:

  • ASP.Net, Java, Node.js, Windows services
  • Many scripting languages (Ruby, bash, …)
  • Different database types

It runs alongside your build server to automate complex deployments in the cloud, corporate data center, or on-site. Like many deployment automation tools, the focus is on repeatable environments you can rely on as a developer.

Easy to install, the dashboard is well structured, and the learning curve isn’t too bad.

screen-shot-2017-09-26-at-3-39-06-pm

It also plays nicely with Jenkins and Bamboo. Allowing you to Automatically trigger Octopus builds when tasks are completed.

It’s free for small teams and for some commercial uses. Pro subscriptions begin at $700, but the price quickly goes up to 10s of thousands if you want to use it as an enterprise software deployment tool with support and upgrades.

Other cool features:

  • Code analysis
  • Automatically run tests and track over time
  • REST API

4. AWS CodeDeploy

aws-codedeploy

If you are using Amazon Web Services, Amazon’s own software deployment tool CodeDeploy might be a good option for you. You can use it to automate deployments to Amazon EC2 instances, but you can also use it for your own on-premise deployments too.

Amazon is known for its epic speed of releasing features, and this tool helps you do the same. Once you’ve got your process set up, you can take advantage of AWS’s unlimited scalability, and use it to deploy to thousands of EC2 instances. It also helps you maintain high-availability with rolling updates to your nodes, meaning your services won’t go down if an update fails. The health of your deployment can also be tracked with configurable rules you choose.

CodeDeploy is free to use, you just have to pay for the AWS cloud computing resources you use to deploy your applications to.

Other cool features:

  • Can deploy content from GitHub and Bitbucket
  • Deploy almost any kind of application content, including executables, scripts, multimedia files, config files…
  • It’s ‘Platform agnostic’
  • Easily integrate with any continuous deployment software tools
  • Ability to specify the number of EC2 instances taken offline for updates

5. GitLab CI

icon_gitlab_ci

GitLab CI is another continuous integration tool, this time built into GitLab – a Git repo hosting and tools platform. It was originally a separate project, but gained so much traction they decided to move it into the core in 2015. That also means that GitLab CI can only be used with GitLab.

Read How We Helped a Marketing Company to Build a Back-Office Custom Ads Dashboard

GitLab CI uses the same “beautiful” experience as GitLab does. It’s open source, free for the community version, and easy to learn with the quick start guide.

There is a real focus on scalability and distribution. Your deployments can be easily distributed across multiple machines, and there are other cool features like the ability to run parallel builds across multiple machines. You can also scale your automated tests by adding additional machines.

Other cool features:

  • You can run your builds on OSX, Unix, Windows, or really anything that supports Go
  • Works seamlessly with the GitLab workflow
  • Easy rollback capabilities and manual deployment
  • Check branches individually using custom version tests
  • Command-line driven build scripts that work with PHP, Ruby, C, Java or any other language
  • Can use with GitLab command-line runners
  • Continuously monitor the health and status of your applications
  • Support for Docker

The enterprise edition starts at $16 per user.

6. Travis CI

screen-shot-2017-09-26-at-5-25-37-pm

“Test and deploy with confidence” is the Travis slogan. Proof that this is a great tool is the number of people using it. Over 900k open source projects on the platform, and 600k users all up. That’s a lot for a free open source tool! You can use it to coordinate thousands of commits and contributors.

The process for using Travis is super simple. Login using GitHub, give Travis a project to test, then push it to your repository. Easy stuff. It makes it easy to test your code runs smoothly against all kinds of languages, and to test every pull request is tested before merging.

You can deploy to Amazon S3 and Heroku, and update staging and production as soon as tests pass.

If you want a private repository, there are different paid private plans ranging from $129-$489

Other cool features:

  • Deploy to S3 and Heroku
  • Free for open source projects
  • Deploy to S3 and Heroku
  • Watch your tests as they are running
  • Keep your code and config files together
  • Works with Slack, Email, and HipChat
  • Clean VM for every new build
  • Linux and Mac (and iOS) supported
  • API available
  • Command line tool available

7. Shippable

shippable

Is a continuous integration/delivery automation platform. With Docker support, it helps streamline the process of provisioning, building, and pushing apps to production – deploying any application anywhere.

Shippable is very flexible, so you’ll be able to work with many other tools you’re already using, all programming languages, and cloud providers.

Other cool features:

  • Ability to separate security and compliance duties with policy-driven permissions
  • Docker friendly – get started fast
  • Custom YML configurations
  • Nice visual reporting for tests and code coverage

It’s free to get started, with a premium subscription for $25. There are more options available for teams.

That’s it for our software deployment tools comparison. There are obviously hundreds more we haven’t talked about here. DevOps and continuous deployment tools are becoming ever more important. The big software houses and cloud vendors are competing for market share, and there are great open source projects popping up to fill in everywhere else. Whatever you need, there is probably a great tool out there somewhere. 

 

Download Our Project Specification Template

Sam Palmer

Sam Palmer

Web Developer and Tech Writer
Sam Palmer

Latest posts by Sam Palmer (see all)