In this blog, user Hamza Sheikh talks about the process he went through for making his first FreBSD port, GoCD — an Open Source continuous integration/delivery system. Sheikh walks us through initial set up through Digital Ocean, tweaks, port init, to makefile. See the link below for a full outline of his journey.

I created my first FreeBSD port recently. I found that FreeBSD didn’t have a port for GoCD, which is a continuous integration and continuous deployment (CI/CD) system. This was a great opportunity to learn how to build a FreeBSD port while also contributing back to the community.

Initial Setup

I created a FreeBSD build environment in a Digital Ocean droplet. Installed a few things I needed,

$ sudo pkg update
$ sudo pkg install -y bash vim-tiny tmux openjdk8 ruby ruby24-gems rubygem-rake

Since GoCD requires Java and Ruby I had to install those with pkg. Otherwise, they will be built with the ports system, which is very slow. Others are for my convenience.

I highly recommend you create a tmux session for your work, especially when the build environment is remote.

How I Created my First FreeBSD Port: