What is monorepo? (and should you use it?)
Monorepos can foster rapid development workflows. In this post, we’ll examine if they are the right fit for you and your company. The post What is monorepo? (and should you use it?) appeared first on...
View ArticleDesign an Effective Build Stage for Continuous Integration
The first move towards releasing software is the build stage. This practical guide will show you the general principles of build automation and reference implementations using Semaphore. Optimizing...
View ArticleContinuous Integration for Monorepos
Monorepos are highly-active code repositories spanning many projects. These can test the limits of conventional continuous integration. Semaphore is the only CI/CD around with easy out-of-the-box...
View ArticleScaling out JavaScript Monorepos with Yarn Workspaces
Monorepos are coming into mainstream, and JavaScript, with notable projects like Babel, Meteor, Ember, or React — all of them unarguably successful — is one of the reasons. It shouldn’t surprise that...
View ArticleA First Look at AWS App Runner
AWS App Runner is a service for people just wanting to run their containers without hassles. In this post, we’ll learn how to use this far-simpler-than-ECS-and-Fargate alternative, explore how it...
View ArticleBuilding Python Projects at Scale with Pants
Warm thanks 🤗 to Benjy Weinberger for reviewing this post. Listen him talking about his contributions to Pants and his take on monorepos on the Semaphore Uncut episode. Web developers, data...
View ArticleJavaScript Monorepos with Lerna
It’s no secret that code sharing speeds up development. And there is no better way of teaming up and collaborating than with a monorepo — provided you have the right tools. What is Lerna Lerna is a...
View ArticleIntroducing the Second Edition of the CI/CD with Docker and Kubernetes eBook
Since we’ve released the first edition of our eBook – “CI/CD with Docker and Kubernetes” in 2020, a lot has changed. Kubernetes and Docker have shipped out new versions, the cloud services have...
View ArticleTypeScript Monorepos with Yarn
In a past article in this monorepo series, we’ve discussed setting up CI/CD for JavaScript packages using Yarn Workspaces. This time, we will figure out the same for TypeScript. We’ll learn how to...
View ArticleBeyond Docker with Earthly
We’ve been using containers for software packaging for a long time. But let’s face it, Docker’s user experience isn’t really the greatest. Building and testing usually entail having a bunch of...
View ArticleRevving up Continuous Integration with Parallel Testing
Is your CI/CD pipeline slow? Do wait times make you feel unproductive? Parallel testing is an indispensable technique for reducing wait times. And mastering it is key to getting the most out of CI/CD....
View ArticleStructure Testing for Docker Containers
So you’ve set up continuous integration for your project. Everything looks good and now all you need is a container. Just build and run it, right? Not so fast! Whether using containers to support...
View ArticleSecure Your Kubernetes Deployments
A recent survey by Red Hat found that more than half of the Kubernetes environments are misconfigured. Even worse, about 90% of respondents had at least one security incident last year, leading to the...
View ArticleContinuous Container Vulnerability Testing with Trivy
💛 Huge thanks to Teppei Fukuda for reviewing this tutorial. You’ve adopted continuous integration (CI), followed TDD and BDD principles — having mastered testing, you deploy anytime, at a moment’s...
View ArticleThe Benefits of Acceptance Testing
At some point, most of us have worked on a project where tests were an afterthought — a grueling experience that shows the value of testing discipline (consider yourself one of the lucky few if you...
View ArticleAWS Serverless With Monorepos
Learn how to build and deploy a facial recognition application using serverless functions in AWS. Along the way, we’ll discover the Serverless Application Model, Lambda testing, and optimizing...
View ArticleChange Management for Containers
Touching a working Dockerfile can feel like playing with fire. We know that an innocent-looking change can have branching, hard-to-debug consequences. It’s easy to get burned. But change is...
View ArticleFeature Flags: A Gentle Introduction
Think of a world where you don’t need a separate testing environment, where you can test everything in production and capture valuable data that helps you improve along the way. The secret ingredient:...
View Article5-Step Strategy for Optimizing Slow Tests
Professional software development is a feedback-based process — each new iteration is informed by past results. Feedback is powered to a considerable degree by tests. Slow tests affect development....
View Article9 Ways To Make Slow Tests Faster
From developers to testers, from business analysts to management, everyone in your organization must be committed to keeping tests in top condition. If you have an extensive test suite, you’ll need a...
View Article