stage | group | info |
---|---|---|
none |
unassigned |
Any user with at least the Maintainer role can merge updates to this content. For details, see https://docs.gitlab.com/ee/development/development_processes.html#development-guidelines-review. |
Thank you for your interest in contributing to GitLab. This guide details how to contribute to the development of GitLab.
For a first-time step-by-step guide, see Tutorial: Make a GitLab contribution.
Your merge request is triaged, reviewed, and can then be incorporated into the product.
We want to create a welcoming environment for everyone who is interested in contributing. For more information about our commitment to an open and welcoming environment, see our Code of Conduct page.
Issues and merge requests should be in English and contain appropriate language for audiences of all ages.
GitLab is a Ruby on Rails application. It uses Haml and a JavaScript-based frontend with Vue.js.
Some satellite projects use Go. For example:
We have development style guides for each technology to help you align with our coding standards.
If you know what you're going to work on, see if an issue exists. If it doesn't, open a new issue. Select the appropriate template, and add all the necessary information about the work you are planning on doing. That way you can get more guidance and support from GitLab team members.
If you're not sure what to work on, you can view issues with the
~Seeking community contributions
and ~quick win
label.
When you find an issue, leave a comment on the issue you want to work on. This helps the GitLab team and members of the wider GitLab community know that you will be working on that issue.
For details, see the issues workflow.
To write and test your code, you will use the GitLab Development Kit.
To run the development environment locally, download and set up the GitLab Development Kit. See the GDK README for setup instructions and Troubleshooting if you get stuck.
GDK is heavy. If you need to build something fast, by trial and error, consider doing so with an empty rails app and port it to GDK after.
To run a pre-configured GDK instance in the cloud, use GDK with Gitpod. From a project repository:
Now Open a merge request to merge your code and its documentation. The earlier you open a merge request, the sooner you can get feedback. You can mark it as a draft to signal that you're not done yet.
For details, see the merge request workflow.
@gitlab-bot
automatically applies
the "~Community contribution" label.@gitlab-bot ready
in a comment.
If your code has not been assigned a reviewer within two working days of its initial submission, you can ask
for help with @gitlab-bot help
.The goal is to have a merge request reviewed within a week after a reviewer is assigned. At times this may take longer due to high workload, holidays, or other reasons. If you need to, look at the team page for the merge request coach who specializes in the type of code you have written and mention them in the merge request. For example, if you have written some front-end code, you should mention the frontend merge request coach. If your code has multiple disciplines, you can mention multiple merge request coaches.
For details about timelines and how you can request help or escalate a merge request, see the Wider Community Merge Request guide.
After your merge request is reviewed and merged, your changes will be deployed to GitLab.com and included in the next release!
When you submit code to GitLab, we really want it to get merged! However, we always review submissions carefully, and this takes time. Code submissions will usually be reviewed by two domain experts before being merged:
After review, the reviewer could ask the author to update the merge request. In that case, the reviewer would set the ~"workflow::in dev"
label.
Once the merge request has been updated and set as ready for review again (for example, with @gitlab-bot ready
), they will review the code again.
This process may repeat any number of times before merge, to help make the contribution the best it can be.
Lastly, keep the following in mind when submitting merge requests:
If you would like to work on GitLab features that are within a paid tier, also known as the code that lives in the EE folder, it requires a GitLab Enterprise Edition license. Request an Enterprise Edition Developers License according to the documented process.
If you need any help while contributing to GitLab:
#contribute
channel or initiate a mentor session.@gitlab-org/developer-relations/contributor-success
in a comment on your merge request or issue.此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。