TL; DR: Semaphore is a hosted continuous integration and delivery (CI/CD) platform designed to remove technical barriers quickly and at scale. The solution, a product of the software company Rendered Text, provides developers with a central tool they can use to build, test, and deploy apps across teams. By helping them adopt continuous CI/CD at scale, Semaphore also empowers users to focus on the most crucial part of development — coding.
Modern-day DevOps teams are increasingly turning to the combined practices of continuous integration, delivery, and deployment (collectively known as CI/CD) to design their production pipelines — and for good reason.
As a best practice in agile methodology, CI/CD allows programmers to deliver added value to customers by infusing automation into the development life cycle. Speeding up app development on a fundamental level means DevOps teams can ship products to market faster, boost fault isolation, and issue bug fixes in a flash.
If speed is the name of the game when it comes to this practice, it makes sense that the best hosted CI/CD platforms would also perform with haste. And that’s precisely what Semaphore is known for.
“Semaphore is the fastest hosted CI/CD service available,” said Marko Anastasov, Co-Founder of Semaphore. “The fact that we impact developer productivity keeps us motivated to continually move forward. With our platform, developers can focus more on writing code and solving problems than configuring and maintaining infrastructure.”
The hosted CI/CD platform, launched in 2012, empowers developers to set up a working development pipeline in minutes. Users gain complete control through the ability to automate continuous delivery, create customized stages, and ultimately serve up exceptional user experiences.
The centralized solution works as a single pane of glass through which users can build, test, and deploy apps. By removing technical barriers to CI/CD adoption for DevOps teams across the globe, Semaphore successfully boosts productivity and reduces developer stress.
“Speed and simplicity never go out of style,” Marko said.
Created in 2012 for Developers by Developers
Semaphore is a product of the software company Rendered Text, which began as a small web development consultancy.
“We were primarily working with Ruby on Rails,” Marko said. “I’m mentioning that specifically because we were influenced by the Rails community. We learned a lot about the software engineering practices that involved automated testing, which is one step on the way to continuous integration — and that’s what Semaphore is all about.”
Semaphore was born out of the need for an internal hosted continuous integration tool at the web development consultancy. At the time, there weren’t many options on the market other than Jenkins, an open-source automation server.
“We didn’t find Jenkins satisfying,” Marko told us. “It took us a few days just to set up one project running on Jenkins — and we were already familiar with web applications. So we thought, ‘Why don’t we try to make a hosted continuous integration service that allows you to configure a project in a few clicks?’”
What started with support for one programming language — Ruby — evolved over time to support nearly all open-source languages and operating systems, including Linux.
“Our tagline at the time was Hosted CI Built for Speed and Simplicity,” Marko said. “As a developer, when you’re working with a lot of automated tests that take longer than 10 minutes, you get bored, easily distracted, and frustrated — so speed is generally an essential feature when you’re doing CI.”
In terms of simplicity, Marko told us the Semaphore team is all about products that help developers do their jobs — and do them well. “We pushed the boundaries of what you can do with Semaphore while keeping it as simple as we can,” he said.
Semaphore is now used by startups, SMBs, and Fortune 500 companies across more than 100 countries.
Speed Up Container Builds and Deploy to Kubernetes
Semaphore’s customer base is primarily made up of software engineering teams. Marko told us those teams are constantly in a state of change.
“As any kind of tech company is growing, so is the product and the team is growing,” he said. “If the business survives long enough, the technology stacks its developers use also change and evolve. So the challenge for every engineering leader is to streamline and accelerate configuration testing and deployment processes across ever-changing technology stacks.”
As Semaphore users grow and change, so must the company’s product suite. The company’s earliest customers focused on creating small web applications and Software-as-a-Service products. But their needs evolved over time to include support for technologies like mobile applications and additional programming languages.
“In recent history, the biggest change has been the arrival of containers,” Marko said. “There has been a massive shift in the development landscape; previously, containers were just not part of anyone’s tech stack. But they all love Kubernetes now.”
While Kubernetes is the most widespread container-orchestration system used to deploy, scale, and manage applications, the technology does add additional stages to the continuous delivery process.
“This introduces new challenges with building, storing, releasing, and orchestrating containers,” Marko told us. “As a CI/CD vendor, the move to Kubernetes was one of the key reasons that we had to shift from providing relatively simple workflows to allowing customers to create arbitrary pipelines of any complexity and any number of stages.”
In response to this change, the company launched Semaphore 2.0 in late 2018. The new continuous integration and delivery product featured customizable CI/CD pipelines and autoscaling, among other features.
“We essentially launched a whole new version of Semaphore based on pipelines that included features to enable continuous delivery of any kind of application,” Marko said. “Those features included artifact stores, which are useful for storing debugging data or building artifacts that need to be promoted through the pipeline.”
Marko told us that his team will continue to adapt the Semaphore platform in step with changes in the development landscape.
“When there’s a big change, like the move to containerization, CI/CD solutions need to adapt,” he said. “So we go back to solving the problem, being able to run what your customers need. Then we start thinking about how to streamline the customer experience. And whenever we’re doing that, we take the opportunity to evolve how Semaphore operates.
Previously, for example, the company offered Semaphore through a classic SaaS subscription with fixed capacity. “Today, you only pay what you use, and there are no user fees,” Marko said.
New: Support for Monorepo
In recent news, Semaphore just launched support for Monorepo, a development strategy that calls for storing the code and assets for multiple projects in the same repository.
The company is now one of the only hosted CI/CD platforms featuring out-of-the-box Monorepo support.
The new addition includes a function for change-based execution, allowing users to ignore parts of the pipeline they’re not interested in rerunning.
“Our Monorepos support is a huge timesaver because you can build and test only the things that have changed,” Marko said. “We’re always looking for solutions like this that further optimize the developer workflow.”