Mocha is a testing library for Node.js, created to be a simple, extensible, and fast. It’s used for unit and integration testing, and it’s a great candidate for BDD (Behavior […]
Igor Šarčević
Visual Workflow Builder: Build CI/CD Pipelines Without Writing YAML
WYSIWYG meets infrastructure as code. Workflow Builder is a visual tool that lets you build serverless CI/CD pipelines on Semaphore without writing YAML.
Semaphore CLI: Forming a Base for a Programmable Semaphore
Being able to control your CI pipeline programmatically, tweak and bend it to your will, is a huge benefit for both small and large organizations.
Introducing the new Semaphore API
We’re happy to announce the release of Semaphore API v2. The new API brings greater clarity, improves usability, and fixes the key issues in API v1. This new version is […]
Faster Rails: Eliminating N+1 queries
N+1 queries are making your Rails app painfully slow. Learn how to eliminate them from your project.
Faster Rails: Indexing Large Database Tables Without Downtime
This article is part of our Faster Rails series. Check out the previous article about proper database indexing. As the scope and size of a Rails project grows, actions that […]
Faster Rails: Is Your Database Properly Indexed?
If your Rails app is getting slower, here’s how to properly index your database to make your Active Record queries faster.
Customizable Command Timeouts
For a long time, Semaphore has been limiting your build command execution time to a fixed 60 minutes. This restriction worked great for the majority of builds on Semaphore, however […]
Faster Rails: How to Check if a Record Exists
Ruby and Rails are slow — this argument is often used to downplay the worth of the language and the framework. This statement in itself is not false. Generally speaking, […]
Keeping Logs Available When Rebuilding a Build
Flaky tests can be hard to track down. When you are working on a new feature, your builds can fail because of one or a few unrelated flaky tests.
Lightweight Docker Images in 5 Steps
Deploying your services packaged in lightweight Docker images has many practical benefits. In a container, your service usually comes with all the dependencies it needs to run, it’s isolated from the rest of the system, and deployment is as simple as running a docker run command on the target system.
How to Deploy Node.js Applications with Capistrano
Introduction Capistrano is a popular tool for web application deployment, especially in the Ruby ecosystem where it originated. But Capistrano is being used to deploy applications made in any programming […]
Getting Started with SSH
Introduction Over the last fifteen years, SSH has become a standard tool for remote management of Unix-like systems and many network devices. SSH stands for Secure Shell, and is one […]
Getting Started with Node.js and Jasmine
It’s a shame that, almost since its creation, JavaScript had been considered more of a quick hack than an actual programming language. Lacking the tools and the community that other […]
How to Deploy Sinatra Applications with Capistrano
Introduction Rails is great, but often it is not the best tool for creating smaller applications. For smaller size apps, especially those that are mainly focused around pure JSON APIs, […]