Skip to main content

Welcome to the Awesome CI!

This project is the smart connection between your pipeline for continuous integration and your version management like GitLab or GitHub. The focus is on the release process, followed by the version management of SemVer. The required version number is created with the correct naming of the branch prefix.

You can use this tool in your CI pipeline or locally on your command line. Just download the most recently released version and get started. You can find out how to integrate this into your respective pipeline in the following document. There are also several examples in the examples section of the documentation. If an example is not included, please feel free to inquire about a related issue.

If more functionality is needed you can just open a problem in this project and of course bugs can be fixed in the same way by filing a bug report.

If you have any questions, you can find a form on the issue board. First, make sure your question is already in the Questions and Answers section before asking a question. You can find frequently asked questions directly in the "Questions and Answers" section.

info

Every command that you can use is in the sidebar at cli. All options are listed there or use the awesome-ci help command.

tip

If you need an example for your pipeline you can find it in the sidebar under the tab examples.

Supported naming rules and effects on the version

The patching of the version only takes effect if the merged branch begins with the following aliases, for example: feature/my-awesome-feature

caution

The tailing / behind the alias is always requiered!

SemVersupported aliasesversion example
MAJORmajor1.2.3 => 2.0.0
MINORminor, feature, feat1.2.3 => 1.3.0
PATCHpatch, fix, bugfix, dependabot1.2.3 => 1.2.4

awesome-ci release process awesome-ci workflow

tip

Awesoce CI automatically detects your environment. Supported are Jenkins, GitHub Actions and GitLab CI

Override specialties

To set some attributes during developement you can comment a pullrequest.

Requiered and optional environment variables

List of all environmental variables used per CES (code execution service).

GitHub Actions

Environment variableDescriptionStatusRequiered
CIIs set by GitHub actions and returns trueset by runnertrue
GITHUB_SERVER_URLThe GitHub-Server URL.set by runnertrue
GITHUB_REPOSITORYThe owner and repository name.set by runnertrue
GITHUB_TOKENMust provided in workflow as env: (see examples)set by runnertrue

GitLab Workflows

Environment variableDescriptionStatusrequiered
CIIs set by GitLab Workflows and returns trueset by runnertrue
CI_SERVER_URLWill only be set by using the GitHub Plugin.set by runnertrue
CI_PROJECT_URLThe owner and repository name.set by runnertrue
CI_JOB_TOKENMust provided in pipeline as env.GITHUB_TOKEN (see examples)set by runnertrue

Jenkins Pipeline

Environment variableDescriptionStatusrequiered
CIIs set by Jenkins Pipeline and returns trueset by jenkinstrue
JENKINS_URLReturns the URL of your Jenkins instance. (Already set)set by jenkinstrue
GIT_URLWill only be set by using the GitHub Plugin.set by jenkins plugin githubtrue
GITHUB_REPOSITORYThe owner and repository name.must be set manuallytrue
GITHUB_TOKENMust provided in pipeline as env.GITHUB_TOKEN (see examples)must be set manuallytrue
tip

To see your Jenkins environment variables go to: ${YOUR_JENKINS_HOST}/env-vars.html