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

【SRETT#6】業務の延長線上で OSS に初コミットした話

【SRETT#6】業務の延長線上で OSS に初コミットした話

3-shake SRE Tech Talk #6
2023年6月22日19時〜21時
https://3-shake.connpass.com/event/279426/
https://www.youtube.com/watch?v=Qjsh4_e2zRQ

Toshiki Shimomura

June 23, 2023
Tweet

More Decks by Toshiki Shimomura

Other Decks in Technology

Transcript

  1. • 自分で立ち上げる。 • ドキュメントの追加・修正・翻訳。 • バグ報告・修正。 • 既存 OSS のイシューを見つけて

    Pull Request を送る。 • 大規模ソフトウェアを手探って機能を追加してみる。 • 業務の延長線上でパッチを送る。 OSS コントリビューション方法は色々ある 5
  2. 一番多いケース • 自分で作りたいものがなくても参加できる。 • デメリット ◦ 取り組めるイシューや直すべきバグを見つけるハードルが高い。 ◦ すでに good

    first issue を取られていることが多い。 ◦ 手段が目的化すると良いアウトプットが出ない。 ▪ 一昔前に問題になった Hacktoberfest がその例。 https://blog.domenic.me/hacktoberfest/ 既存 OSS のイシューを見つけて Pull Request を送る 7
  3. 大規模ソフトウェアを手探る(東大 EEIC の実験) https://doss.eidos.ic.i.u-tokyo.ac.jp/ • 他の方法よりもスキルと達成感を得られる。 • デメリット ◦ 授業20コマ分の時間と労力が必要。

    ◦ TA がいないと厳しい。 ◦ ここまでしてもマージされるのは一部。 大規模ソフトウェアを手探って機能を追加してみる 8
  4. セルフホストした GitLab で,日次バックアップを DR 環境に復元 • backup-utility というスクリプトがついていたので利用した。 • バグ:復元対象の除外指定が効かない。

    業務でやろうとしたこと・遭遇したバグ 11 $ echo yes | backup-utility --restore \\ --skip registry --skip uploads --skip pages ... 2022-11-15 02:33:10 +0000 -- done Restoring pages ... sync existing of pages failed pages をスキップに したのに pages を復元しよう とする
  5. • ヘルプでコマンドの使い方を確認:問題なし。 • backup-utility の中身を読んで処理を追う。 ◦ fetch_remote_backup ◦ unpack_backup ◦

    gitlab-rake gitlab:backup:db:restore ◦ gitlab-rake gitlab:backup:repo:restore ◦ (gitlab-rake gitlab:backup:builds:restore はスキップ) ◦ (object-storage-restore pages はスキップのはずなのになぜか 実行されている)☞スキップ判定処理が怪しい。 ◦ gitlab-rake cache:clear ◦ cleanup 原因究明 1/2 12
  6. 参考にしたページ • Contribute to GitLab • Contribute to GitLab development

    コントリビューションガイドを探して読む 14 👉 やるべきこと 1. Code of Conduct を読む。 2. イシューを探すか作る。 3. (Development Kit セット アップ:今回は不要) 4. Merge Request を開く。