Depending on your role, there are different approaches on how to contribute to Kieker.
Contributing not being a member of the Kieker development team
- Fork the stable branch of the Kieker Git repository: https://github.com/kieker-monitoring/kieker/tree/stable
(a guide on the general steps you have to take can be found here: https://help.github.com/articles/fork-a-repo/ ) - Develop on the forked repository.
- When you completed your work, you can create a pull request from your repository to the Kieker master branch.
(a guide on the general steps you have to take can be found here: https://help.github.com/articles/using-pull-requests/ ) - The code will be checked by our Jenkins-based pipeline and a Kieker developer will be notified to review the pull request.
- If both finished successfully, the merge is initiated by a Kieker developer.
- Finally the new state of the master branch will run through the Jenkins pipeline and eventually (if the pipeline succeeded) pushed to the stable branch.
Contributing as a member of the Kieker developer team
- Create a new ticket in the Kieker JIRA https://kieker-monitoring.atlassian.net/secure/Dashboard.jspa
- Create a corresponding branch in the Kieker repository named like the following: KIEKER-<ticketID> (if the ticket ID would be 1234, the branch should be named "KIEKER-1234")
- Example:
git checkout -b KIEKER-1234
- Example:
- Develop on the created branch. If you push your branch, the Snap-CI pipeline is automatically triggered and gives feedback whether it passed all checks.
git push origin
KIEKER-1234
- When you completed your work, you can create a pull request from your branch to the Kieker master branch.
(a guide on the general steps you have to take can be found here: https://help.github.com/articles/using-pull-requests/ ) - The code will be checked by our Jenkins pipeline and a Kieker developer will be notified to review the pull request.
- If both finished successfully, the merge is initiated by a Kieker developer.
- Finally the new state of the master branch will run through the Jenkins pipeline and eventually (if the pipeline succeeded) pushed to the stable branch.