What I wanna do is to build a package (web application from a git repository) and install it with pkg on a target system.
Do note that you don't need to use
/usr/ports for that at all. And although you can use some utilities even that isn't really needed, this whole procedure is very easily scripted if you want to.
If you look into
pkg-create(8) you'll see what I mean. There really isn't any magical inner working here, at its core you're looking at rolling up a specific amount of files (or a program hierarchy) into a package. And that's it. Although you can indeed resort to using pre-made tools I always considered that a lot of extra overhead, in the end this process isn't that much different from creating an archive.
Another thing to keep in mind is that you need to address 2 things here: creating the package, and distributing it.
You can make this as easy or as difficult as you want. For example:
pkg-add(8) is perfectly capable of retrieving a package from a remote source, it natively supports the HTTP, HTTPS and FTP protocols. So if you're looking at creating a package which should be distributed to some of your other servers then it couldn't be easier. Place it on a webserver, point the other servers to that URL and you're set. Optionally you could use a tool such as
ftp/curl to keep track of any newer versions.
Another option is to manually build yourself a repository using
pkg-repo(8). Once again something pretty trivial, and after that your other servers could be easily pointed to that repository which you can then use to distribute your software.
Quite frankly I think that this approach can be much more beneficial for you in the longer run. Sure, it's easy to blindly rely on some external tools to do the work for you. But once you know how this process actually works you'll soon notice that it's really not that much special and setting up a repository and maintaining it can even be done using a simple shell script.
The advantage comes from actually learning how this stuff works. That will also give you a much better insight in how those other programs are handling all this.
A small sidestep but in a way I always compare this to installing FreeBSD.. I've seen plenty of people who were wondering how they might be able to somehow automate or script the installer, even though it's really not that difficult to install FreeBSD without the installer in the first place; thus also making the whole process much more flexible.
Just my 2 cents of course.