The fossil-scm is both simple and complicated at the same time. By itself it is a very good stand alone SCM. It does lack some features like syntax enabled code editor which I endlessly waited for gitlab to deploy I still never use it. Fossil itself does not offer a ci/cd solution but there are simple workarounds.
simple steps
mkdir -p ~/mnt/fossil
sudo mount -t nfs nas.local:/volume1/fossil $HOME/mnt/fossil
mkdir ~/fossil
fossil clone $HOME/mnt/fossil/vctools.fossil $HOME/fossil/vctools.fossil
mkdir -p ~/src/vctools
cd ~/src/vctools/
fossil open ~/fossil/vctools.fossil
ls
... do some work...
fossil commit -m "a note to self"
Fossil does have a web UI and does support http
and https
. There are some quirks for password
management and while I have deployed the ui server I am losing interest. I only need the CLI but
from time to time I want to see the timeline or read some markdown
. fossil ui
is supposed to launch
the local browser.
Normally you would cd
to the project directory and then run fossil ui
. However, in my case,
most of my development takes place on a remote machine. In that case I need to launch it this way.
Keep in mind that it’s http and if your local network is vulnerable then you might want to use ssh
with some port forwarding.
$ fossil ui -P 0.0.0.0:8080 --nobrowser
Listening for HTTP requests on TCP port 8080
http://0.0.0.0:8080/timeline?c=current
CI/CD
Export the code to a git repository with CI/CD enabled.