What is Proper Continuous Integration?

Marko Anastasov · 2 Mar 2017· Engineering

Continuous integration (CI) is confusing. As with all ideas, everybody does their own version of it in practice. Get a clear, concise summary of CI, continuous deployment and continuous delivery. Understand how these practices complement each other, and how they can help you develop robust software faster.

Read more...

Continuous Integration and Delivery with Semaphore on GitHub Marketplace

We’re happy to announce that Semaphore’s continuous integration and continuous delivery service is now part of the GitHub Marketplace. GitHub is a key platform for millions of development teams, and it gathers one of the largest communities of developers. We’re proud to be one of the partners featured on their Marketplace.

The Marketplace allows you to sign up for the best-in-class developer tools directly through GitHub.This means that you won’t need to set up and use multiple accounts across your development workflow.

Read more...

Continuous Integration with Docker Compose

This is a guest post by Nigel Brown, an independent Docker specialist who writes, teaches, and consults on all things Docker-related. Based in the UK, he travels regularly, and can be found at windsock.io, and on GitHub.

If you take heed of any of the many reports relating to cloud-native computing, then you'd be forgiven for thinking that every organization, large or small, is well on the way to a microservices-oriented application nirvana. The truth is, of course, that a good number of organizations have started the journey, but still maintain traditional monolithic applications, and have some way to go in the journey. Is it possible to take advantage of the new set of cloud-native technologies such as Docker, when you have applications of mixed architectural styles?

Read more...

Faster Rails: Eliminating N+1 queries

This article is part of our Faster Rails series. Check out the previous article about index creation on large tables.

Rails does not scale well – this argument is often used to downplay the worth of the language and the framework. Yet, many businesses from small startups to platforms with millions of users use it as the backbone of their operations. A good question to ask ourselves is whether Rails simply can't scale, or if the issue is hidden somewhere deeper.

Read more...

Tips on Treating Flakiness in your Rails Test Suite

To say that flaky tests are annoying is to put it mildly. They can decimate both a developer's time and productivity, are notoriously difficult to deal with, and are unfortunately a reality of software development.

Our collegues have written more general posts in the past about dealing with flaky tests and why it is important. I would encourage you to read them. On the other hand, I will be focusing on sharing the experience I have gathered after about a year of dealing with flaky tests while working on a Rails application.

Read more...

Visualizing continuous integration, continuous delivery, and continuous deployment View diagram in full screen

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 to the field confused is that they are not mutually exclusive, but include each other, like Russian dolls.

Read more...

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 were blazingly fast can become slow, and even downright unacceptable. The cause behind this issue can be an exponential growth of your database tables that makes lookups and updates much slower. If this is the case, adding missing indexes to your database is a cheap and easy way to drastically improve the performance of your application.

Read more...

Speeding Up Rendering Rails Pages with render_async

Adding new code to Rails controllers can bring a couple of problems with it. Sometimes controller actions get really big, and they tend to do a lot of things. Another common problem is an increase in data over time, which can lead to slow page loading time. Adding new code to controller actions can also sometimes block the rendering of some actions if it fails, breaking user experience and user hapiness.

Here at Semaphore, we came across these types of problems a couple of times. We usually resolved them by splitting controller actions into smaller actions, and rendering them asynchrounously using plain Javascript.

After some time, we saw that this can be extracted to render_async, a gem that speeds up Rails pages for you - it loads content to your HTML asynchrounously by making an AJAX call to your Rails server.

Read more...

1 2 3 4 5 6 7 8 9 10 11
Newsletter

Occasional lightweight product and blog updates. Unsubscribe at any time.

© 2009-2017 Rendered Text. All rights reserved. Terms of Service, Privacy policy, Security.