Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

PTLのお仕事とリリースパイプラインの裏側

933 views

Published on

OpenStack Days Tokyo 2019 の発表資料

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

PTLのお仕事とリリースパイプラインの裏側

  1. 1. Copyright©2019 NTT Corp. All Rights Reserved. PTLのお仕事とリリースパイプラインの裏側 NTT 室井 雅仁
  2. 2. 2Copyright©2019 NTT Corp. All Rights Reserved. ⾃⼰紹介 • 室井 雅仁 (むろい まさひと) • IRC: masahito • OpenStack コミュニティ役職 • Blazar Core Reviewer (元PTL) • Congress Core Reviewer • 発表・投稿履歴 • OpenStack Summit 8 件 (2013件~) • https://www.openstack.org/videos/search?search=muroi • OPNFV Summit 1 件 • https://youtu.be/qV4eLhsFR28 • ThinkIT 記事 (Summit 速報記事) • https://thinkit.co.jp/author/8439 • @IT (OpenStack 使い⽅のコツ) • http://www.atmarkit.co.jp/ait/articles/1509/17/news006.html
  3. 3. 3Copyright©2019 NTT Corp. All Rights Reserved. Project Team Lead • OpenStack プロジェクトの代表 • Technical Committee や別グループとのコンタクトポイント • リリースサイクルごとに⽴候補形式の選挙制 • 最近は 2~4 サイクルごとの交代が多くなってきた • 主な役割 • 開発ロードマップの作成 • 開発者ミーティング (PTG) の議⻑・司会進⾏ • 公式リリースの作成 • 新規 Core Reviewer の推薦 • プロジェクト管理の雑務全般 パッチ作成 パッチ作成 パッチ作成 パッチレビューパッチレビュー コミュニティ運営 PTL Core Reviewer ⼀般コントリビュータ
  4. 4. 4Copyright©2019 NTT Corp. All Rights Reserved. OpenStack のリリースモデル master branch 2.0.0.0b3 2.0.0.0rc1, 2.0.0 2.0.1 stable/rocky branch 開発 milestone は tag で対応 rc1 tag を起点として stable branch を作成 release tag は、最新 rc へ設定 bug fix のバックポートがあった場合、 マイナーバージョンアップアップした tagを作成
  5. 5. 5Copyright©2019 NTT Corp. All Rights Reserved. OpenStackプロジェクトのリリース作業 release リポジトリ内のファイルに release tag の Commit ID を記述するだけ! 簡単!! branch 作成は起点となる tag を指定するだけ releases/deliverables/rocky/blazar.yaml
  6. 6. 6Copyright©2019 NTT Corp. All Rights Reserved. リリースフロー全体像 releases blazar リリースパッチ投稿 パッチレビュー Gerrit 2. release tag 付与 1. update trigger 3. tag 更新 trigger 4. build & upload package PTL Release team
  7. 7. 7Copyright©2019 NTT Corp. All Rights Reserved. Zuul • CI/CD (delivery & deployment) system • プロジェクト (git リポジトリ) をまたがったパッチの依存関係を考慮した CI/CD が可能 であることが特徴 • patch A for X repository depends on patch B for Y repository • リポジトリの特定のイベントに pipeline を定義、プロジェクトごとに pipeline の実⾏ job を設定 • Gerrit, Github などの配下のプロジェクトを管理可能 • OpenStack Foundation 配下のプロジェクト • https://zuul-ci.org/docs/zuul/ • Zuul の詳細はこの後のセッション 「ZuulとOpenStackで作る気の利いたCI環境 」 で!
  8. 8. 8Copyright©2019 NTT Corp. All Rights Reserved. リリースパッチのマージから tag の付与まで • openstack/releasesリポジトリの更新を契機に、追加 された tag の情報を、対象のリポジトリへ反映 • refs/heads/* の更新が実⾏契機 releases blazar Gerrit update trigger release tag 付与 openstack/releases/.zuul.yaml openstack/project-config/zuul.d/jobs.yaml openstack/project-config/playbooks/release/tag.yaml
  9. 9. 9Copyright©2019 NTT Corp. All Rights Reserved. tag の付与から pypi へのアップロード • プロジェクトリポジトリへの tag 追加を契機に、パッ ケージングと pypi へのアップロードを実施 • プロジェクトリポジトリの refs/tag blazar Gerrit tag 更新 trigger builds and uploads package openstack/project-config/zuul.d/projects.yaml openstack/openstack-zuul-jobs/zuul.d/project-templates.yaml openstack/project-config/zuul.d/jobs.yaml zuul/zuul-jobs/roles/build-python-release/task/main.yaml
  10. 10. 10Copyright©2019 NTT Corp. All Rights Reserved. FAQ.1 Q. 簡単と⾔ってるけどリリースノートの作成とか、総合したら⾯倒なんじゃ ない? A. リリースノートなども release tag の設定を契機にすべて⾃動化されてい ます release team がめっちゃ頑張ってくれています、感謝 詳しくは “openstack reno” で検索してみてください
  11. 11. 11Copyright©2019 NTT Corp. All Rights Reserved. FAQ.2 Q. zuul の job や template がどこに定義されているか分かりづらい A. 私もそう思います。 次のくくりで覚えて grep して検索しています。 • openstack/project-config, openstack/openstack-zuul-jobs • OpenStack に特化した job や template • tempest のテスト, API リファレンスやリリースノートのビルドなど • zuul/zuul-base-jobs, zuul/zuul-jobs • ⼀般的な job • pypi upload など
  12. 12. 12Copyright©2019 NTT Corp. All Rights Reserved. まとめ • PTL の仕事はいろいろあります • OpenStack のリリース作業は超簡単 • リリース作業も git 管理のためリリーストラッキングも簡単 • Zuul の pipeline 機能便利 • ぜひ皆様も CI/CD に導⼊してみてはいかがでしょうか

×