Being able to compare the way you’re working to rest of the industry is usually both interesting and useful. This is why we created Rails Testing Grader, a new tool backed by anonymous, real-world data from Semaphore that lets you compare the state of your test suite and CI build to Ruby on Rails projects […]
Marko Anastasov

What’s the Difference Between Continuous Integration, Continuous Deployment and Continuous Delivery?
Summary Overview Continuous integration, continuous deployment, and continuous delivery are like vectors that have the same direction, but different magnitude. Their goal is the same: make our software development and release process faster and more robust. The key difference between the three is in the scope of automation applied. What gets people who are new […]
Introducing Boosters: Move Faster with Automatic Parallel Testing
As any application grows in features, running all automated tests in the continuous integration (CI) environment begins to take a significant amount of time.
Perfection is Useless
One of the most important things we teach the junior programmers who join the Semaphore team is the mindset of shipping in small iterations. This is a simple concept, however there’s an inevitable misunderstanding that stems from the subjective ideas of “small”. Thus, in practice we need to teach by example what we really mean […]
The Cracking Monolith: The Forces That Call for Microservices
The microservice architecture has recently been gaining traction, with many companies sharing their positive experiences with applying it. The early adopters have been tech behemoths such as Amazon and Netflix, or companies with huge user bases like SoundCloud. Based on the profiles of these companies and the assumption that there’s more complexity to running and […]
Measure and Improve Your CI Speed with Semaphore
We’re happy to announce a new Semaphore feature that will help you monitor and improve your CI speed over time. We’re calling it CI Speed Insights, and it’s available to all Semaphore users as of today.
Celebrate Continuous Delivery in Slack with New Semaphore Notifications
By popular demand, we’re happy to announce that we’ve made some tweaks to Slack notifications coming from Semaphore. Here’s what our build and deployment notifications now look like: We experimented with different approaches, ranging from minimal to multi-line, rich format messages, and used them for our projects for several weeks. In the end, we settled […]
What is Proper Continuous Integration?
Continuous integration (CI) is confusing. As with all ideas, everybody does their own version of it in practice. CI is a solution to the problems we face while writing, testing and delivering software to end users. Its core promise is reliability.
Moving Platform Updates to Changelog
Quick heads up that weβll be publishing future platform updates on the Semaphore changelog.This will help us focus the blog on important product updates and …
Activity Monitor: Visualizing Your Team’s Running CI/CD Processes
Growth always has its challenges. With more developers, there are more ongoing projects, branches and CI builds. And sometimes while you work, you find yourself wanting to know what else is in the pipeline on Semaphore.
PHP Versions Used in Commercial Projects, 2016 Edition
As in earlier reports on other languages (see Ruby, Node.js, Python), today we’re sharing data from Semaphore about usage distribution across versions of PHP in active private projects.
Python Versions Used in Commercial Projects, 2016 Edition
In October we shared data on which versions of Ruby and Node.js developers use to get the job done. Next up is a report on Python, for which the main question is binary β is it Python 2 or 3 that developers use at work today?
How BDD and Continuous Delivery Help Developers Maintain Flow
Programming is cognitive work, and programmers perform their best work under intense concentration. While there are external factors that can affect this, such as having a quiet office, controllable ways of communication, etc., there are also some internal factors that need to be taken into account. In fact, the way we work can influence the […]
Node.js Versions Used in Commercial Projects, 2016 Edition
Following up on our last week’s post for Ruby, we’re presenting the second annual report of Node.js version usage in commercial JavaScript projects on Semaphore (see 2015 numbers here). We think it’s always interesting to see what people are using to get the job done, and projects actively using continuous integration can be a solid […]
Ruby Versions Used in Commercial Projects, 2016 Edition
Which versions of Ruby do people use when building apps at work? This is the question we’ve been answering for fun for four years now, based on data about private projects that are tested and deployed on Semaphore.