Engineering GitLab Product
Overview
From time to time, our team has objectives that require us to collaborate on the GitLab product. The group we have most collaborated in the past has been the Growth team, though engineers should validate what stage they should contact. They should be informed and consulted with any changes that affect the GitLab product, ideally doing so before we begin any work. This ensures that we are aligned with their goals and can leverage their expertise in the GitLab product. Remember that the Digital Experience team’s work on the GitLab product should align with our team’s OKRs and the overall company strategy.
When working on the GitLab product, it’s important to follow the established contribution guidelines and code review process. This includes:
- Writing clear commit messages
- Opening a merge request with a detailed description
- Addressing any feedback from reviewers
Additionally, make sure to:
- Write and update tests as necessary
- Follow GitLab’s coding standards
- Update documentation if your changes affect user-facing features
Collaboration Process
When collaborating on the GitLab product, follow these steps to ensure smooth communication and efficient work:
-
Identify the need: Determine if your objective requires changes to the GitLab product.
-
Consult with the right team: Before starting any work, reach out to the appropriate team to discuss your plans. This can be done through:
- Scheduling a meeting
- Posting in the appropriate Slack channel
- Creating an issue in the relevant team’s project board(if necessary)
-
Create a proposal: Draft a proposal that includes:
- Define the scope outlining the changes you intend to make
- The problem you’re solving
- The proposed solution
- Any potential impacts on other parts of the product
- Timeline and resource requirements
- Who is committing to what work, and if any engineering assistance is necessary
-
Get approval: Obtain formal approval from the team and any other relevant stakeholders before proceeding with development.
-
Regular updates: Keep the right team informed of your progress through:
- Prompt status updates
- Sharing merge request links for review
- Flagging any roadblocks or changes in scope
-
Final review: Before merging your changes, ensure the appropriate team has given their final approval.
Onboarding
There is an existing onboarding process for GitLab engineering. Digital Experience engineers need to complete a specific subset of that onboarding:
- Git Workflow
- Make sure you still feel comfortable with day 5 of the general onboarding steps for git workflow
- Engineering Department specific tasks
- Complete the Engineering Division/For Development Department specific tasks
- Snowplow
- Complete the Snowplow onboarding tasks
- GDK
-
You can get started with the GitLab Rails using the GDK here
-
Set it with one line installation which:
- Clones the GDK project into a new
gitlab-development-kit
directory in the current working directory. - Installs
asdf
and necessaryasdf
plugins. - Runs
gdk install
. - Runs
gdk start
.
Note: First follow dependency installation instructions if necessary.
curl "https://gitlab.com/gitlab-org/gitlab-development-kit/-/raw/main/support/install" | bash
- Clones the GDK project into a new
-
To browse your development server:
-
Execute:
cd gitlab-development-kit
-
Execute:
gdk start
-
-
Use the login credentials found here and learn more GDK commands
-
Slack Channels
Here are some slack channels to ask for help:
56b11548
)