Kubernetes Deployments: The Ultimate Guide

Ready to deploy that app you’ve just “dockerized”? Here’s all you need to know about Kubernetes deployments to deliver your containers to production.

Continuous Deployment of a Python Flask Application with Docker and Semaphore

Learn why continuous deployment for Python is important and how to continuously deploy a Python Flask app to Heroku using Docker and Semaphore

Python Continuous Integration and Deployment From Scratch

Learn how to quickly build, test, and deploy a Python Django web application using Semaphore’s CI/CD platform

Continuous Integration and Delivery to AWS Kubernetes

Learn how to combine Semaphore with AWS Elastic Container Registry and Kubernetes Service to implement fully managed continuous delivery

7 Continuous Integration Tools for PHP Laravel Developers

In this article we’ll learn about 7 tools that you can use to set up a rock-solid continuous integration (CI) process for your PHP project. Together, these tools increase code quality, reduce development time, easily reveal errors and will generally make your life easier. We will learn how we can setup a Semaphore CI continuous integration pipeline for a PHP Laravel application. The game plan is to setup various tests…

A first look at Google Cloud Run

Google has launched Cloud Run, a new solution for running serverless applications based on Docker containers, this month at its Cloud Next ’19 conference. What we can say now is this is an important step for serverless computing — deploying to Cloud Run is much easier than running containers on Kubernetes. It also has no architectural restrictions, which Lambda functions do. Semaphore provides seamless CI/CD pipelines to build, test and deploy…

Two Key Docker Benefits and How to Attain Them

In 2013, Solomon Hykes showed a demo of the first version of Docker during the PyCon conference in Santa Clara. Since then, the benefits of Docker containers have spread to seemingly every corner of the software industry. While Docker (the project and the company) made containers so popular, they were not the first project to leverage containers out there; and they are definitely not the last either. Editor’s note: This…

CI/CD Pipeline: A Gentle Introduction

Do you want your engineering team to deliver bug-free code at high velocity? A fast and reliable CI/CD pipeline is crucial for doing that sustainably over time. What is a CI/CD pipeline? A CI/CD pipeline helps you automate steps in your software delivery process, such as initiating code builds, running automated tests, and deploying to a staging or production environment. Automated pipelines remove manual errors, provide standardized development feedback loops…

CI/CD for Microservices on DigitalOcean Kubernetes

Semaphore gives you the power to easily create CI/CD pipelines that build, run and deploy Docker containers. DigitalOcean recently introduced a managed Kubernetes service which simplifies running cloud-native applications. Together, they’re a great match for productive software development. In this article we’ll show you how to connect these two services together in a fast continuous delivery pipeline. What we’re building We’ll use a Ruby Sinatra microservice which exposes a few…

Why Cloud Native Success Depends on High-Velocity CI/CD

Article originally published on The New Stack. The goal of every tech leader is to deliver bug-free products to customers at high velocity. Today’s cloud-native technology can empower engineering teams to iterate, at scale, faster than ever. But teams that don’t also change how they deliver software will struggle to benefit from the agility and speed to deployment that cloud native can offer.

Continuous Delivery Patterns with Serverless Applications

Adoption of serverless technology is surely growing, with emerging product companies who built on top of it. One of them is CloudZero, a Semaphore customer, who recently wrote a detailed article about their experience in achieving continuous delivery for their all-serverless system.

A Practical Guide to Test Doubles in Elixir

Introduction In this tutorial, we’ll be looking at one of the main use cases for test doubles in Elixir: aiding in the interaction between domain logic and impure components that exist over the boundaries of an application. Tests relying on such components are usually brittle, and need to reach out to external resources whose state may be foreign and unpredictable, thereby causing slowness and sometimes making tests fail unexpectedly. Classic…

Rails Testing Handbook Available for Kindle

In April, we officially released Rails Testing Handbook, a free ebook in which our engineers shared how to write tests and practice BDD to develop sustainable Rails applications. The handbook teaches you all you need to know about the BDD approach of analyzing, testing, coding, and designing a system in one short feedback loop. BDD helps us produce better software, while also avoiding mistakes and wasteful work. You can now…

Doubled Free CI/CD Capacity for Open Source

At Semaphore, for years we’ve been happy to support open source projects with a free continuous integration service. Today we’re increasing the free CI/CD capacity on all open source organizations from 2 to 4 Boxes.

Faster Rails CI with Automated Parallel Testing Available to All

Earlier, we launched Semaphore Boosters, a feature that allows you to automate parallelizing your RSpec and Cucumber tests in a few clicks. The feature has helped many teams to reduce their Rails CI build times by as much as 2 hours in some cases. Initially, the feature was available only to some users. It has now matured with the help of our users, and due to high interest we’ve decided…

Setting up a BDD Stack on a Rails 5 Application

This post is adapted from Rails Testing Handbook, a free ebook on building sustainable Rails apps with BDD. In this tutorial, we will guide you through the process of generating a new Rails 5 application, with all the necessary tools to set up a behavior-driven development (BDD) flow. We will set up 5 tools that represent the base of BDD development in Rails: RSpec for writing unit test, Cucumber for…

Running Applications on a Docker Swarm Mode Cluster

Introduction This tutorial is the last in a series of tutorials concerning the container orchestration tool, Docker Swarm. In this series, we’ve already seen how to establish a Swarm cluster, schedule services to the cluster’s nodes, make those services consumable from within and outside the cluster, and update and rollback services in-flight. We’ve mainly focused on the theory associated with a Swarm cluster, so in this final tutorial, we’ll get…

Working Effectively with Data Factories Using FactoryBot

This tutorial has been updated by Thiago Araújo Silva on 20 April 2018. Introduction In test-driven development, data is one of the requirements for a successful and thorough test. In order to be able to test all use cases of a given method, object or feature, you need to be able to define multiple sets of data required for the test. This is where the data factory pattern steps into…

1 2 3 13