Skip to content

endgameinc/makecloud

Folders and files

NameName
Last commit message
Last commit date

Latest commit

c36c6cc · Jan 10, 2022

History

65 Commits
Apr 27, 2021
Feb 24, 2020
Jul 7, 2021
Jan 8, 2022
Nov 18, 2021
Oct 30, 2019
Sep 3, 2019
Sep 3, 2019
Sep 3, 2019
Nov 28, 2019
Jan 21, 2021
Jul 7, 2021
Jul 7, 2021
Jan 28, 2021
Feb 24, 2020

Repository files navigation

Homepage/Docs: makecloud.dev

Issues: Github Issues

This is a beta pre 1.0 zero release, lots of things are still being built, are inprogress or may have bugs.

Makecloud is an innovative open source build & deploy tool that is designed to work with large complex source repositories and modern software development environments that deploy to the cloud. The first and most significant design choice is to have Makecloud operate over a directed acyclic graph instead of pipeline or linear set of stages. Makecloud takes advantage of a project’s dependency graph to cache results from stages whose dependencies have not changed since the last invocation, and to parallelize build stages when dependencies allow. This serves a couple purposes, it significantly speeds up builds and it makes possible to include base image generation in your normal build pipeline and only update them when needed. Writing and testing single stages is a joy due to the speed and immediate feedback loop due to caching. Every stage in Makecloud is run on a separate virtual machine that has been spun up for just that purpose. This ensures that builds are not contaminated due to changes and allows the system to scale to execute as many stages in parallel as you can get compute resources for.

In addition, there are several features that make Makecloud easy to build deploy graphs with. There is built-in support for authenticated storage and retrieval of files between stages so that you can focus on the important logic rather than plumbing. Configuration files are also simple and straightforward to use; most people can understand and write one with only a minute of explanation. Makecloud also comes as a command line tool that can be invoked locally without any other requirements. This makes it easy to tie into legacy systems as a method of running your new CI/CD.