OptimalWorkshop

Optimal Workshop finds Semaphore to be the best and the fastest CI/CD tool on the market

  • ⛔️️ Maintaining CI servers was a hassle
  • ⛔️ Tests running very slowly
  • ✅ 10+ engineering hours saved daily with parallel testing
  • ✅ Fully automated continuous delivery pipeline

Discover what Semaphore can do for your team 🧑‍💻

The Challenge

Optimal Workshop has a team of 10 developers using Ruby on Rails to develop usability measuring tools. They have been doing continuous integration ever since they started developing their first application. In the beginning, they used Java and TeamCity as their CI solution. Five years ago, the team made a decision that the Java framework they were using just wasn’t the right fit for what the company was trying to achieve.

After some investigation, they decided to rewrite their suite of applications in Ruby, with Ruby on Rails as the web framework. In order to further optimize their workflow, they also decided to look for a reliable continuous integration and deployment solution. Their current solution, Team City, was self-hosted, which meant that the team was wasting hours upon hours on configuring and maintaining CI servers. This took valuable time away from developing and improving their products.

The Solution

After comprehensive research, a decision was made. The best solution would be to switch to a hosted CI solution that is easy to configure, and that would allow them to simply pay a monthly fee and not have to maintain the servers themselves.

While investigating all the hosted CI solutions they could find, the team tested Semaphore. They quickly found that Semaphore was a perfect fit that met all of their needs. What won the team over was the ease with which they could set up CI for all their projects on Semaphore. They were also very happy with Semaphore’s performance, which was far better than that of other hosted continuous integration and deployment solutions.

The ability to run tests in parallel is what the Optimal Workshop team finds most helpful, and it’s the feature they use the most. With Semaphore in place, each of their builds has 16 jobs available to run them in parallel. Having such parallel testing capability saves an hour of waiting time for each build, and it has been a long time since the team has run the entire test suite from start to end on their development environments. Optimal Workshop developers rely on Semaphore to take care of running all of their tests.

“Without parallel tests, our test suite would now run well past the hour mark from start to finish. The ability to split the test suite up across 12 or more jobs in Semaphore and have the test suite run in under 7 minutes is so important for us and it saves us a lot of development time.”

In addition to using Semaphore for continuous integration, the team has also configured automatic deployment to staging and production servers, which is triggered as soon as a build passes on a preconfigured branch.

“We took the time to gather and test all the other options, but we found that none of them performed as well as Semaphore. On the other platforms our tests were running slower, and on some services, our test suite would refuse to run with hard to understand errors. That is the biggest reason why we’re Semaphore customers and why we’d recommend Semaphore to other teams as well.”

The Results

The team is looking at removing the production branch at some stage, so that as soon as something is merged to master and it passes in CI, it will be automatically deployed to Cloud 66. Connecting Semaphore to Cloud 66 is simple, since Semaphore provides an integration that allows users to set up automatic deployment in a few clicks. It’s also more convenient than going into Cloud 66 manually every time and clicking “Deploy” and faster than doing a deploy manually out of Semaphore. Automatic deployments can be easily disabled and re-enabled, which is a very useful feature for the team.

Industry

Software development

Stack

Ruby

Ruby on Rails

More customer stories

“It’s way faster and we just pay Semaphore for the number of build seconds we actually use. As we’ve spent a bit of time optimizing our build speed, each build costs about 10 cents.”

CTO / Co-Founder

Read case study

“Semaphore allows us to build anywhere from two to twenty branches in parallel, each one in a threaded environment. We had thousands of tests that were running for a really long time and with Semaphore we got the build to run in under 20 minutes.”

QA Lead at 500px

Read case study

“We were using Jenkins to build the old system, and it was hard to maintain and quite painful. We looked at other hosted CI services, but they were very unreliable. When we found Semaphore, we got our application up and running pretty quickly. We now use it for all projects.”

CTO at Simply Business

Read case study