Install Golang: > go1.15
List of commands (COMMAND):
- create-branch: create release/* branch
- tag: create a tag
- release: run bot create-branch and tag commands
- send: send an email with change log of release
PROJECT_ID: ID of project on Gitlab
Usage:
go run main.go COMMAND PROJECT_ID [flags]
Examples:
./gitlab tag ${pid} --ref ${target-branch} --version ${desired-version}
Flags:
-h, --help help for go
--host string Git host, if not provided then get GIT_HOST from environment variables. (default "https://gitlab.com")
--job-name string Job name to send email, if not provided then get CI_JOB_NAME from environment variables.
--job-token string Job Token for Gitlab authentication, if not provided then get CI_JOB_TOKEN from environment variables.
--mode string Versioning mode.
'compact': no pump up version if a hotfix is merged into a release.
'simple': pump up version on every release.
Unknown value will be replaced as default value. (default "compact")
--ref string Git ref name or commit hash (default "master")
--send-bcc string Email address to send BCC email to
--send-cc string Email address to send CC email to
--send-to string Email address to send email to
--token string Token for Gitlab authentication, if not provided then get GIT_PRIVATE_TOKEN from environment variables.
--version string Desired version- Run with Go
go run main.go tag 278 --host=https://gitlab.com --token=this_is_token --ref=master --version=3.60.15 [email protected] [email protected] [email protected]- Run with Docker
docker run --rm image-name gitlab tag 278 --host=https://gitlab.com --token=this_is_token --ref=master --version=3.60.15 [email protected] [email protected] [email protected]ENV=
GIT_HOST=
GIT_PRIVATE_TOKEN=
SMTP_SERVER=
SMTP_USERNAME=
SMTP_PASSWORD=- A commit message SHOULD contain a tag:
- Major tags are
#breaking,#major,#remove/#removed,#revert/#reverted,#upgrade/#upgrade, which changes make current application make it not compatible - Minor tags are:
#minor,#change/#changed,#add/#added,#update/#updated - Patch tags are:
#patch/#patched,#fix/#fixed,#hotfix/#hotfixed,#bugfix/#bugfixed
- If commit message DOES NOT contain a tag, then consider as
#minor - A tag SHOULD be
#<tagName>or<tagName>:.