開発者オンボーディング
これから GitLab の開発者になります! 始める前にハンドブックを必ず確認し、GitLab での作業スタイルを把握してください。以下では開発を始めるために必要なすべてのものを見つけることができます。 不足しているものがあれば追加してください(GitLab のすべてのことと同様に)!
GitLab 環境
私たちには複数の GitLab 環境があります。
それらのインスタンスでは、p を押してから b を押して(本番環境でも)パフォーマンスバーを有効にしてください。
次に、GitLab.com での本番 Canary の使用と有効化の方法をお読みください。
GitLab 開発を始める
開発を始めるには、GitLab Development Kit の手順に従ってください。
GitLab リポジトリ
GitLab は多くのサブプロジェクトで構成されています。GitLab リポジトリのキュレーション済みリストはGitLab エンジニアリングプロジェクトページで確認できます。
ほぼすべてのリポジトリは GitLab.com と dev.gitlab.org の両方で利用可能です。可用性のために dev.gitlab.org にもミラーリングし、歴史的な理由から GitHub にもミラーリングしています。
すべての Issue は GitLab.com で登録する必要があります。
インフラストラクチャ
インフラストラクチャに関連するすべては、インフラストラクチャハンドブックを確認してください。 特にプロダクションアーキテクチャはオンボーディングに役立ちます。
何らかの理由で VPS が必要な場合は、DigitalOcean でセットアップするのが最も簡単です。別の開発者にアクセスを依頼してください。
GitLab 開発の基本
ワークフロー
ハンドブックのエンジニアリングワークフロードキュメントを参照し、開発者ドキュメントをお読みください。
セキュリティ
セキュリティ Issue に取り組む前に開発者セキュリティドキュメントをお読みください。
Quality
GitLab の強みの1つはソフトウェアの高い品質です。これを達成するために、コントリビュートされるすべてのソースコードに要件を設けています。すべての要件はコントリビューションガイドに記載されています。必ず読んで従ってください。
依存関係
GitLab は様々な Linux ディストリビューションと macOS で Omnibus パッケージまたはソースからインストールできます。移植性を維持するために、余分な依存関係の追加やエキゾチックなデータベース拡張の使用を避ける必要があります。アプリケーションコードの変更と新しい依存関係の追加の間で選択するたびに、メンテナンスとセットアップが容易なため前者を優先すべきです。それでも GitLab に新しい依存関係を持ち込む必要がある場合は、別の開発者または CTO にアドバイスを求めてください。
コードの提出
GitLab では、すべてのコードはマージ可能になる前にレビュープロセスを経る必要があります。変更のためのマージリクエストを必ず提出してください。 マージリクエストの準備ができたら、チームの他のメンバーに割り当てる必要があります。 この人はあなたのコードをレビューしてマージする責任を負います。 オプションとして、コメントを書いて別の開発者に助けやレビューをリクエストすることもできます。 マージリクエストが割り当てられていない場合、おそらく無視されて不必要な遅延が生じます。
複数日にわたって1つのタスクに取り組んでからマージリクエストを提出しないでください。 最大のタスクでも小さなタスクに分割できます。 機能の各部分のマージリクエストを提出するようにしてください。 これは毎週複数のマージリクエストが期待されることを意味します。 小さなマージリクエストは良いフィードバックを受ける可能性が高く、より早くマージされます。
変更が非常に軽微でない限り、または同じバージョンで導入されたバグを修正する場合を除き、Changelog Git コミットトレーラーを使用してチェンジログエントリを作成してください。
ボランティアコントリビューターに認識を与えるためにのみ名前を含めるため、エントリに自分の名前を含めないでください。
GitLab EE での作業(開発者ライセンス)
GitLab EE には有効なライセンスキーが必要です。
GitLab チームメンバーはこれらの手順に従ってライセンスを取得または更新できます。
より広いコミュニティメンバーは Developer Relations エンジニアリングチームに連絡してください。
Ruby Gems
Ruby gems の開発ガイドラインに従ってください。
より広いコミュニティへの参加
- マージリクエストコーチになる
- コミュニティ Discordに参加する
- チームがコミュニティオフィスアワーを開催することを奨励する
- Slack の
#developer-relations-engineeringでDeveloper Relations エンジニアリングチームに連絡する - あなたの活動にコミュニティを巻き込む
- 公開で会話する
- チームの Issue をトリアージし、特にハッカソンに向けて
quick winでラベル付けする - コミュニティフォークを使用する
- チームメンバーおよび/またはコミュニティとライブストリーミングとペアリングセッションを検討する
- GitLab Unfiltered YouTube チャンネルのミーティングを録画する(ハンドブック情報はこちら)
- コミュニティメンバーからのリクエストを擁護して社内で懸念点を提起する
- X/Twitter や LinkedIn などのチャンネルでコミュニティメンバーとオフラインでつながる
