Introduction Mixins are a very powerful feature in Ruby, but knowing how to test them is sometimes not too obvious, especially to beginners. This stems from mixins’ nature – they get mixed into other classes. In this tutorial, we will revisit what mixins are, identify mixin types, and learn how we can test mixins with […]
Platform Update on February 23rd
The upcoming platform update is scheduled for February 23rd, 2016.Bundler gets updated to version 1.11.2.Cassandra is updated to version 2.2.5.
Scheduled downtime
On this Sunday (February 14th, 2016) at 10am UTC, Semaphore will be unavailable due to planned maintenance which includes database migration as well.
Testing Python-Requests with Betamax
Introduction Requests is one of the most downloaded and widely used Python libraries published on PyPI. Testing Requests, however, is something that most people attempt to avoid, or do only by using mocks and hand-written or hand-copied response data. VCRpy and Betamax are two libraries that avoid using mocks and hand-written or hand-copied data, and […]
Stubbing External Services in Rails
Intro Integrating external services in web applications has been around for a long time now. We often use various OAuth providers such as Facebook, Twitter, GitHub and other alternatives for user signup, depending on our needs. Other times, things are more complicated. Maybe we are using Stripe or PayPal for online payments, or maybe we […]
New Dashboard: Simpler, Faster, Responsive
The Semaphore dashboard is about to get a brand new look. The new design dramatically simplifies the layout, while improving performance under the hood.
New Server Page: A Better Overview of Continuous Deployment
Setting up deployment on Semaphore allows your team to have a uniform and easy to use software delivery pipeline. To that end, Semaphore provides you with a …
Test-Driven APIs with Phoenix and Elixir
Introduction Starting with a new technology can be difficult. It usually takes some time to understand the components and the way they work together. In this tutorial, we’re going to create an API, using Test Driven Development (TDD) to guide us through its implementation. You’ll learn how the feedback provided by our test helps save […]
Platform Update on January 19th
The upcoming platform update is scheduled for January 19th, 2016. Erlang has been updated to version 18.2.1.Git has been updated to version 2.7.0.
Building and Deploying Microservices with AWS Lambda and Semaphore
AWS Lambda is a service from the Amazon Web Services family which runs your code based on various events. When you create a Lambda function and deploy your code to it, AWS Lambda takes care of provisioning and managing servers that run your code. This tutorial will show you how to develop a Node.js Lambda […]
Fast Continuous Delivery of Microservices with AWS Lambda
AWS Lambda is an AWS service that runs your code in response to events or HTTP requests. Lambda works through functions, which are basically microservices written in Java, Python or Node.js. When you create a Lambda function and deploy your code to it, AWS Lambda takes care of provisioning and managing the backend infrastructure. To […]
Node.js Version Usage in Commercial Projects, 2015 Edition
We’ve been publishing Ruby version reports in commercial projects for three years now, and given recent events in Node community
Platform Update on December 22nd
The upcoming platform update is scheduled for December 22nd, 2015.Cassandra gets and update with version 2.2.4.Git receives an update with version 2.6.4.
How to Deploy a Node.js Application to Elastic Beanstalk with Semaphore
Introduction With AWS Elastic Beanstalk, you can quickly deploy and manage applications in the AWS cloud without having to worry about the infrastructure that supports those applications. AWS Elastic Beanstalk automatically handles all the details of application version history, capacity provisioning, load balancing, scaling, and application health monitoring. This tutorial explains how to set up […]
Best Practices for Spies, Stubs and Mocks in Sinon.js
Introduction Testing code with Ajax, networking, timeouts, databases, or other dependencies can be difficult. For example, if you use Ajax or networking, you need to have a server, which responds to your requests. With databases, you need to have a testing database set up with data for your tests. All of this means that writing […]
CI/CD Weekly Newsletter
🔔 Get notified when the new articles and interviews are out.