Automate routine work with releasing new versions.
Part of the @kira bots family.
So, when the time to release comes our bot:
docker images to GitLab registryInternally we use semantic-release.
With multiple plugins.
Every commit is validated to be compatible to conventional-changelog
format (here's our format just for example):
/^(revert: )?(feat|fix|docs|refactor|chore)(\(.+\))?:.{1,50}refs #\d+/
However, we do not enforce any particular format with this project. You are free to choose any existing or create your own.
We also recommend to enforce this format in Gitlab's push rules.
In this case I won't be able to push incorrect commit messages:
» git push
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 692 bytes | 692.00 KiB/s, done.
Total 3 (delta 2), reused 0 (delta 0)
remote: GitLab: Commit message does not follow the pattern '/^(revert: )?(feat|fix|docs|refactor|chore) ...'
It is recommended to use this bot as a part of your CI. There are two possible ways to release your software:
master (we consider master branch protected by default)manual CI jobsThey are not required, but may help you:
@kira-bot to your project@kira-bot is allowed to create themmaster branch must be protected, only @kira-bot is allowed to pushYou are required to set:
GITLAB_TOKEN secret variable in CI configurationGROUP_NAME and PROJECT_NAME either in CI configuration or in .gitlab-ci.ymlYou can also optionally set:
KIRA_RELEASE_SKIP_DOCKER to 'true', so your docker image deploy will be skippedKIRA_RELEASE_ASSETS to any assets string, so it will upload these files to GitLab releaseKIRA_RELEASE_EXEC_CONFIG string with json config to pass to @semantic-release/exec. Related docs on why would you possibly need thisKIRA_RELEASE_REPLACE_CONFIG string with json config of how to bump version numbers in a project definition file, example: KIRA_RELEASE_REPLACE_CONFIG='{ "project": "package.json", "from": "\"version\": \".*\"", "to": "\"version\": \"${nextRelease.version}\"" }'Note: You might want to use $$ to escape $ char in several environments like GitLab CI configuration file
Copy-paste our .gitlab-ci.yml file. And modify it to match your project.
Content type
Image
Digest
sha256:f59747baa…
Size
507.2 MB
Last updated
17 days ago
docker pull wemakeservices/kira-release