Yes, my understanding was that local mode has a few limitations that do not work for our use case:
- Devices must be available on your local network
- Our devices are often deployed in moving vehicles, and the developer testing against it may not be in the vehicle
- We often test a single build on multiple devices, so developers would have to build them all separately, and we wouldn’t be able to simply pin another device to an existing dev build
- Environment variables from the cloud do not apply
- We use the environment variables for a number of things, including turning on/off some development settings on the fly. Having to manually set them in the docker compose file to be in sync with the settings in the cloud every time we do a quick development test isn’t really feasible and is error prone
- To deploy on multiple devices the developer would then have to set the compose file for each device by hand and make sure they got all the settings right, which takes time and is easy to get wrong, and then run separate builds for each of those devices
Our preference would definitely be to use the Balena cloud build servers for development builds.