If you have many projects (lets say - microservices) - it would be great to have one way to run and operate them when developing
runcommand - the main purpouse of this command is to run all in once. If all projects has this command its easier to remember.
testcommand - each projects should have a tests and a way to run them, either one file or all tests at once
initcommand - some kind of project initialization - creates missing files, dirs for developer, checks permissions, login to docker registry, checks inotify limits for tools such as webpack and other file watchers.
lets.yaml when it becomes big.#
lets.yaml became big, it may be great to split it in a smaller, more specific files using
In each of these files we then hold all specific tasks.
Checksums can help you decrease amount of task executions. How ? Lets see.
Suppose we have
js project and we obviously holding all dependencies in
Also we are using Docker for reproducible development environment.
What if we want to rebuild docker image every time we changed dependency ?
As you can see, we execute
build command each time we execute
run command (
persist_checksum will save calculated checksum to
.lets directory and all subsequent calls of
build command will
read checksum from disk, calculate new checksum, and compare them. If
package.json will change - we will rebuild the image.