When Jenkins is configured with 'Check out to matching local branch' the branch and tag name will conflict.
If we use explicit references to tags, then life is much better.
This patch also replaces our manual 'tag or not' boolean with a regex to check if the return is a SHA1.
If it is not a SHA1, it is assumed to be a tag. Hopefully this helps with future maintainability.
This now allows us to use things like the ProjectName as variables
in our docker image name. This is especially helpful when trying to
make the `.goreleaser.yml` as generic as possible.
I enhanced `BuildFlagTemplates` field in Docker image config to accept
templates. Build flags are tested by checking for images created with
labels applied through templates.
See #813
I added `BuildFlags` field to Docker image config. Docker pipe is
updated to append build flags to the `docker build` command.
Build flags are not validated, leaving it Docker to error
when given an unknown flag.
See #813