11

Monorepo Support Is Now Generally Available on Semaphore

 3 years ago
source link: https://dev.to/semaphore/monorepo-support-is-now-generally-available-on-semaphore-2bm8
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
Cover image for Monorepo Support Is Now Generally Available on Semaphore

Monorepo Support Is Now Generally Available on Semaphore

Apr 7

・2 min read

Our mission at Semaphore is to empower engineers to ship great products by providing them with a state-of-the-art CI/CD experience. We’re excited to announce that Semaphore now provides out-of-the-box support for monorepo projects.

What is monorepo? 🚝

A monorepo is a version-controlled code repository that holds many projects. While these may be related, they are often logically independent and run by different teams.

How it works? 🤔

The key building block of monorepo CI/CD pipelines on Semaphore is the change_in function which detects if a file or set of files have changed in a particular Git commit range.

You can use the change_in function to:

  • Run custom workflows for changes on specific files. Use change_in in combination with glob patterns to define jobs that will run only when certain files change.
  • Skip unnecessary checks. No need to run that whole test suite when you change README.md. Save some CI time by using exclude option to define files and folders you want to ignore.
  • Continuously deploy the right things. Combine change_in with automatic promotions to deploy what has changed.

So what? 😜

Skipping parts of your code which were not affected by a change can lead to a dramatically faster feedback loop.

For example, the front-end engineering team at BlueLabs was able to reduce their build time from 17mins to 4mins.

How can I use this? 😄

Semaphore is free for personal, hobby and open source projects, so giving this a spin is pretty easy.

You can fork a pre-made monorepo demo project and run it yourself.

Or you can just add your own project and play with it.

Happy building!


A more PR-ish version of this announcement was originally published on the Semaphore blog.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK