Build snaps by simply pointing a web form to a git tree
Fabrica is a web service to be run on an lxd appliance. It spawns a
web ui that allows you to point to cloneable git trees, initializes
lxd containers and builds snap packages of the provided source trees.
To use fabrica you can use the steps below:
snap install lxd
sudo lxd init # hit enter for all questions
snap install fabrica
snap connect fabrica:lxd lxd:lxd
snap connect fabrica:mount-observe
snap connect fabrica:system-observe
snap connect fabrica:ssh-keys
Now fabrica will come up on port 8000.
Point your web browser to http://localhost:8000 (or to the external IP instead of localhost) and add some git tree to it.
Note that in its current state fabrica only builds snap packages for the used host architecture (i.e. to build armhf or arm64 snaps, you need to use a raspberry Pi4 and install lxd and fabrica on it)
The branches are checked every 5 minutes for new commits. Builds start automatically when a new commit is detected.
Since the service is currently only available via http and also has no authentication management, it is recommended to only use it in in-house setups.
For versions of Ubuntu between 14.04 LTS (Trusty Tahr) and 15.10 (Wily Werewolf), as well as Ubuntu flavours that don’t include snap by default, snap can be installed from the Ubuntu Software Centre by searching for snapd.
Alternatively, snapd can be installed from the command line:
sudo apt update
sudo apt install snapd
Either log out and back in again, or restart your system, to ensure snap’s paths are updated correctly.
Install fabrica - your own snap build factory
To install fabrica - your own snap build factory, simply use the following command: