Upgrade to Pro — share decks privately, control downloads, hide ads and more …

今日から始めるEnvoyの開発

 今日から始めるEnvoyの開発

Rei Shimizu

January 08, 2020
Tweet

More Decks by Rei Shimizu

Other Decks in Programming

Transcript

  1. Rei Shimizu (@_iy4)
    01-08-2020
    今日から始めるEnvoyの開発

    View Slide

  2. Agenda
    ● 自己紹介
    ● Issueを見つける
    ● 開発環境を整える
    ● テストを書く
    ● コードフォーマットを整える
    ● PRを作ってレビューを受ける
    2

    View Slide

  3. 自己紹介
    ● 大学生 / ソフトウェアエンジニア @ Tetrate.io
    ● Twitter : @_iy4
    3

    View Slide

  4. ✨駆け出しコントリビューター ✨

    View Slide

  5. issueを見つける
    たくさんある

    View Slide

  6. たくさんありすぎ....
    どうやって選ぶ?

    View Slide

  7. ラベルの活用
    ● Issueはラベルでカテゴライズされている
    ● 初めてのコントリビュートは Beginner ラベル から探すのが
    おすすめ
    ● Help Wanted ラベル がつけられているものを潰すと喜ばれ

    View Slide

  8. Help Wanted かつ Beginner な issue は結構たくさんある

    View Slide

  9. issueの詳細が分からなければ...
    ● Slack / issue でどんどん聞けばいい
    ● いろいろ教えてくれる

    View Slide

  10. 開発環境を整える
    ● DEVELOPER.md を読みましょう
    ● 書いてあるとおりにやればある程度環境は整う
    ● リモートインスタンスで開発したければ 
    https://github.com/tetratelabs/getenvoy-package/wiki/Envoy-dev-env-setup

    View Slide

  11. Coding...

    View Slide

  12. テストを書く
    ● テストを書いて通さないと基本レビューが貰えない
    ● Envoy では GoogleTest / GoogleMock を使っている
    ● 追加した機能によっては統合テストを書かないとマージされない

    View Slide

  13. コードフォーマットを確認する
    ● push 時に pre-push hooks が走る
    ● 大体なにかしら引っかかる
    ● 指摘されたスクリプトを実行してフォーマットを修正しましょう

    View Slide

  14. CIを通す
    ● Envoy では Circle CI と Azure Pipelines が動く
    ● チェック項目は結構多い
    ● 慣れないとなかなか全項目通せない

    View Slide

  15. レビューを受ける
    ● PRとしての体裁が整ったらレビュアーが見にきます
    ● ドキュメントの修正とかでなければそんなにすぐにマージされない
    ● レビュアーの方々と結構議論することもある
    ● かなり長期に渡って議論されているものも

    View Slide

  16. View Slide

  17. View Slide

  18. Let’s Contribute!

    View Slide

  19. We are hiring!

    View Slide