UPDATE:
Someone told me about TerraForm at a conference which seems to be the better choice.
It should be possible to automatically release builds to Github when we want to release a new version. It shouldn't build on every commit, rather when we decide to create a new release.
I have read documentation around Travis / Vagrant / Docker, and it should be possible to create a VM inside Travis and push it to Github.
Things to think about
- In the VMs install script the user are given options that should be answered automatically. We don't want to create a new user if not needed, and we don't want to change install mirrors, we don't want to change keyboard layout either (default is US).
- A user with sudo permissions (ncadmin) is needed to run the install script properly. Running the script as a separate root user will work, but is not optimal.
- Contacts, Calendar and Webmin are shipped by default in the release version, here we need to answer "OK" in the install script as they are prompted in a whiptail (while loop in the end of the install script).
- The VM must meet these requirements: https://github.com/nextcloud/vm/blob/master/README.md#build-your-own-vm-or-install-on-a-vps
We are just about to finish the rewrite, but this could be something to add in the next project we do. Or if someone is up for the task, please make a PR and push it to a new branch so that we can discuss and improve.
Thanks!
UPDATE:
Someone told me about TerraForm at a conference which seems to be the better choice.
It should be possible to automatically release builds to Github when we want to release a new version. It shouldn't build on every commit, rather when we decide to create a new release.
I have read documentation around Travis / Vagrant / Docker, and it should be possible to create a VM inside Travis and push it to Github.
Things to think about
We are just about to finish the rewrite, but this could be something to add in the next project we do. Or if someone is up for the task, please make a PR and push it to a new branch so that we can discuss and improve.
Thanks!