I created a docker image that applied the steps described in https://wiki.alpinelinux.org/wiki/Creating_an_Alpine_package#Setup_your_system_and_account. Any time I need to update a package, I just spin the image back up.
To create a new package you could theoretically use the template instructions here https://wiki.alpinelinux.org/wiki/Creating_an_Alpine_package#Use_a_template_APKBUILD, but I usually just create my APKBUILD file from scratch.
Build is pretty simple. From the package directory, just abuild checksum && abuild -r
as described in https://wiki.alpinelinux.org/wiki/Creating_an_Alpine_package#Build_the_package.
Regular git stuff for committing changes. https://wiki.alpinelinux.org/wiki/Creating_an_Alpine_package#Commit_your_work
Alpine accepts packages submitted to the mailing list https://wiki.alpinelinux.org/wiki/Creating_an_Alpine_package#Send_a_patch, or submitted as a GitHub PR (more on contributing here https://github.com/alpinelinux/aports/blob/master/.github/CONTRIBUTING.md).