Versapay boosts DevOps efficiency and security by adopting Semaphore

  • ⛔️️ using an external container registry
  • ⛔️️ need for security changes
  • ✅ having container registry as part of Semaphore
  • ✅ introducing self-hosted agents support the required security changes

Discover what Semaphore can do for your team 🧑‍💻

Ryan Grush, Senior DevOps Engineer at VersaPay, likes Semaphore because:

1. The layout is great
2. You can ssh into a running job
3. You can run tests in parallel
4. Customer support is very helpful
5. Semaphore just works!

Read transcript below:

Can you give us an overview of what your company develops in terms of software?

We have an end-to-end accounts receivables efficiency suite of products. We like to say we handle the invoice-to-cash process. Within the company, we have several different services. I primarily work on the automated accounts receivables process, which is called Cash Application, where we essentially match physical checks with invoices. We’ve been using Semaphore for a number of years now.

It would be great if you could dive into your experience with Semaphore. How do you use it, and how has it impacted your team’s productivity and efficiency?

We’ve been using it for at least three years or more, and it’s a big part of our process. We use it to build Docker images primarily and also run a suite of automated tests. We use it very heavily, both the cloud agents and the self-hosted agents now, and I think it runs through maybe 20 minutes of automated testing. This is really critical because we have a very large application that’s been running for 10 years now. Having the peace of mind that a new feature complies with all our testing is crucial in ensuring the stability of our product.

Are there any aspects or features, besides self-hosted agents, that you consider especially valuable or distinctive for your team?

I really like the visual tools that Semaphore provides, where we can see workflow to workflow where things are failing. I like the visual layout of that. It’s very useful. The secret management tool is very useful for us, as is the Container Registry. We were previously using an external Container Registry, which was really bottlenecking our process and adding to the time it took to run a build. Being able to do that internally within Semaphore is very helpful too.

You mentioned self-hosted agents and how they help your daily work, but with all the internal security changes, could you explain a bit more about your use case with self-hosted agents?

The big thing is security. We needed a fixed egress point for continuous deployment to some of our Kubernetes clusters. Having a self-hosted agent from a fixed egress point that we can whitelist on our firewall was the primary motivation for using self-hosted agents.

Besides the features available, customer support can make a big difference. Have you found our customer support helpful and responsive when needed?

Yes, absolutely. I’ve only had to reach out a handful of times because the product works as advertised, but the few times I did, the responses were prompt. There is a bit of a time difference, but that’s to be expected. Overall, everything has been answered quickly.

Are there any other benefits you’ve seen while working with Semaphore?

In addition to the layout, being able to run things in parallel is a useful feature. We have a ten-year-old application with many tests, so running things in parallel is very useful for the team. Also, being able to see the artifacts at various stages of the pipeline is very helpful. Additionally, being able to SSH into a running job is very useful. I use that frequently when editing the pipeline and making changes.

Why would you recommend Semaphore to other teams who are considering using it and might be facing similar technical challenges as you did?

There are many similar products on the market. I like Semaphore because it does what it says. I don’t take that for granted. While more bells and whistles could be added, I see that as a downside because I want something that works, and Semaphore does that.




Toronto, Ontario, Canada

Engineering team

100+ people


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