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...

By popular demand, we're happy to announce that we've made some tweaks to Slack notifications coming from Semaphore.

Here's what our build and deployment notifications now look like:

We experimented with different approaches, ranging from minimal to multi-line, rich format messages, and used them for our projects for several weeks. In the end, we settled on a minimal, yet informative single-line format that includes all the key information (what, where) and links to relevant resources.

Read more...

At Rendered Text, we like to decompose our applications into microservices. These days, when we have an idea, we think of its implementation as a composition of multiple small, self-sustaining services, rather than an addition to a big monolith.

In a recent Semaphore product experiment, we wanted to create a service that gathers information from multiple sources, and then emails a report that summarizes the data in a useful way to our customers. It's a good use case for a microservice, so let's dive into how we did it.

Our microservices stack includes Elixir, RabbitMQ for communication, and Apache Thrift for message serialization.

We designed a mailing system that consists of three parts:

  1. the main user-facing application that contains the data,
  2. a data-processing microservice, and
  3. a service for composing and sending the emails.

Read more...

Migrating from Snap CI to Semaphore

In the last week, news has spread throughout the CI/CD community about the announced shutdown of Snap CI, one of our highly-respected competitors. If you're a Snap CI user looking for a new hosted CI/CD solution, here's a comparison of Semaphore's and Snap CI's offering to help you decide if Semaphore is the right choice for you.

Read more...

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. In this case a rebuild can help to make your build pass.

Until now, a rebuild of a failed build replaced that build. This way, both the logs and the exact reason behind the failure becomes inaccessible for further inspection.

Read more...

Lightweight Docker Images

Lightweight Docker Images Speed Up Deployment

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. 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.