What is Proper Continuous Integration?

Marko Anastasov · 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...
Latest from Semaphore Subscribe

Ruby on Rails was the first major web framework to include automated tests as part of every new project. The effects have been enormously positive. Many developers have learned to write tests well, which in turn helped them get better at design. Experienced developers were drawn by Rails' focus on productivity and beautiful code. Their community activities have helped push the craft of web development forward. Over the years positive effects have rippled to other communities too.

In practice though, how much do Rails developers really write tests?

Read more...

Rails Testing Handbook

Bugs and messy code slow down development, and can make complex projects fail. We write code with good intentions, but in practice as complexity increases we need a system to help us avoid problems.

This is where BDD (Behavior-driven Development) can make a huge difference: it provides us with a sustainable process for continuously producing high-quality software, with clean code and automated tests as a side effect.

Read more...

Docker Image Size - Does It Matter?

Does Docker image size matter? The answer I usually hear is "yes". The logical question that follows is "why?". I've heard the following two answers too often for my liking:

  • A smaller image takes less disk space.
  • A large image is difficult to upload. It takes a long time.

Alhough both these statements sound like they make sense, neither is generally true.

Read more...

Gant Laborde of Infinite Red Ignite

In the Developer Interview series, we talk to engineers who use Semaphore. We pick their brains about how they work, what wisdom they would like to pass on, and the most challenging problems they’ve faced during development.

This time around, we had the pleasure to talk to Gant Laborde, a member of the Ignite team and chief technology strategist for the San Francisco company Infinite Red.

Read more...

7 Ways Continuous Delivery Helps Build a Culture of Learning

At the heart of continuous delivery is a fast feedback loop that immediately shows developers the effects of their work. Mistakes are found and fixed quickly, while beneficial changes can be released and deployed to customers without having to wait for a distant future release date. This rapid feedback helps build an organizational culture of learning and responsibility.

Read more...

This is a guest post by Kendal Miller, Senior Engineer at par8o. Read it to discover how par8o reduced build time from over 2 hours to 13 minutes with Semaphore Boosters, fully automated parallel CI for Rails.

par8o is a platform designed for healthcare teams to coordinate, communicate, and close the loop on patient referrals - for better relationships with providers and patients. par8o also offers a chat platform to encourage office-to-office and referral communication for quicker results.

The referral portion of par8o is a large application built with Ruby on Rails and AngularJS. It is configurable to support the workflow needs of different organizations. The application is also used to integrate with other healthcare systems.

The engineering team at par8o takes testing seriously and uses MiniTest for unit and controller tests and RSpec for browser testing. We use a development workflow that is very similar to the GitHub workflow, but instead of merging to master after a story has been verified in production, we merge to master once a story has been verified in our QA environment by our quality assurance team.

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-2018 Rendered Text. All rights reserved. Terms of Service, Privacy policy, Security.