OCI DevOpsコード・リポジトリでのプル・リクエストによる開発者コラボレーションの有効化

January 7, 2025 | 1 minute read
Text Size 100%:

※ 本記事は、Saurabh Shahによる"Enabling developer collaboration with pull requests in OCI DevOps code repositories"を翻訳したものです。

2025年1月7日


Oracle Cloud Infrastructure (OCI) DevOpsコード・リポジトリで、新しいプル・リクエスト機能のリリースを発表できることを嬉しく思います。この重要な更新では、プル・リクエスト、リポジトリ・フォーク、リポジトリ・インサイトなど、いくつかの重要な開発者コラボレーション機能が導入されています。新しいアプリケーション・コードの開発、既存のアプリケーションの拡張、Infrastructure-as-Code (IaC)リポジトリの管理など、チームによる新しいコード変更のレビューや、必須承認によるコード品質管理の適用を可能にするワークフローは、すべての企業顧客にとって重要です。

コード・リポジトリの更新機能

この機能が豊富なこの機能拡張セットにより、お客様はリポジトリ構成を一元的に管理し、コンソール・ワークフローから効率的なコード・レビューを実行し、マージ・チェックとコード承認基準を通じてコンプライアンスのベスト・プラクティスを実施し、継続的インテグレーション(CI)パイプラインを自動化して新しいプル・リクエストのビルドをトリガーすることで、コード・マージを許可する前にパイプラインが正常に実行されることを確認できるようになりました。これらの機能はOracleにとってミッションクリティカルであり、何千もの開発者がそれらを使用して、より優れたコード開発とコラボレーション・エクスペリエンスを実現しています。OCIのすべてのお客様がこれらのメリットを享受できることを嬉しく思います。OCIネイティブの開発者ツールを使用して、より統合されたDevOpsプラットフォーム・エクスペリエンスでソフトウェア・アプリケーションを格納、開発、構築およびデプロイできます。

プル・リクエスト機能は、最新の開発者コラボレーション・プラットフォームに期待されるすべての主要機能を組み込んで、DevOpsサービスのコード・リポジトリに不可欠な要素として設計されました。開発者がメールの過負荷に直面することが多いことを認識し、私たちはパーソナライズされた通知を導入しました。これにより、各開発者は通知設定をカスタマイズできます。他のシステムとは異なり、DevOps管理者は、特定のDevOpsリソースへのアクセス権を持つユーザー・グループと、これらのユーザーが実行できるアクションを決定するきめ細かなアクセス制御メジャーを構成できます。たとえば、管理者は、プロジェクトまたはリポジトリのプル・リクエストをマージできるユーザー・サブグループを決定する詳細なポリシーを構成できます。管理者は、ブランチ保護構成を使用して重要なコード・ブランチを保護することもできます。この構成は、コードの整合性を維持し、新しいコード変更をマージする前にプル・リクエスト・レビューを必要とするコンプライアンス対策を実施し、コード品質とソフトウェア開発のコラボレーションを促進します。リポジトリの所有者とマネージャは、プル・リクエスト・メトリックに関する詳細な洞察を取得して、開発アクティビティをより適切に分析および計画することもできます。

この更新により顧客は、次の主要なユース・ケースが実現可能になります:

  • シームレスな開発者コラボレーション: プル・リクエストを発行し、レビュー担当者を追加してフィードバックと承認を提供することで、新しいコード変更をシームレスにコラボレーションできます。このプロセスはチームワークを促進し、コードの品質を確保するのに役立ちます。
  • 必須コード承認: プル・リクエスト作成者以外のユーザーからの必須コード承認を必要とすることで、コード品質を向上させます。プル・リクエストがマージされる前に、指定されたレビューア・グループから最小数の承認を設定できます。また、高品質のコードを確保し、企業コンプライアンスのベスト・プラクティスを達成するために、精査のレイヤーを追加することもできます。
  • 自動ビルド・トリガー: プル・リクエストが作成、更新またはマージされるたびにビルド・パイプラインを開始するように、DevOpsで自動トリガーを設定します。これらのトリガーは、すべてのコード変更がすぐにテストされるようにし、信頼性を向上させ、手動で実行またはビルド・プロセスをトリガーする料金を削減するのに役立ちます。
  • 成功したビルドの実施: 関連付けられているビルド・パイプラインが合格した場合にのみプル・リクエストのマージを許可するルールを適用できます。このルールは、安定したテスト済みコードのみがメイン・コード・ベースに統合されるようにし、新しいコード変更で破損が発生するリスクを低減するのに役立ちます。
  • パイプラインの可視性を構築: プル・リクエストまたはコミットに関連するパイプライン実行のステータスを1箇所で簡単に表示できます。この利便性により、時間を節約し、さまざまなツール間の切り替えの手間を省いて進捗状況を追跡できます。
  • 許容マージ戦略の構成: リポジトリに対して、早送り(fast-forward)のみ、スカッシュ、リベース、マージなどの1つ以上のマージ戦略を可能にします。リポジトリ管理者は、ターゲット・ブランチへのコード変更のマージの一貫性を確保するために、リポジトリ設定で許容されるマージ戦略を構成します。
  • 重要なブランチの保護: リポジトリ内の重要なコード・ブランチに対してブランチ保護対策を実施します。この機能により、管理者は読取り専用ブランチの整合性を維持し、新しいコード変更をマージする前にプル・リクエスト・レビューを要求するように開発者に指示することで、コード・ベースの安定性を提供できます。
  • パーソナライズされた電子メール通知: プロジェクト、リポジトリまたはプル・リクエスト・レベルで個々のプリファレンスを構成し、特定のニーズに関連するパーソナライズされた更新を受信します。監視対象リソースで発生した更新、更新の受信、またはすべてのイベント更新の受信を選択できます。
  • リポジトリ・フォーク: DevOpsリポジトリのコピーを作成して、メイン・コード・ベースに影響を与えずに新機能またはバグ修正を処理します。後で、フォークされたリポジトリから元のリポジトリにプル・リクエストを送信して、変更内容をプロジェクトに戻し、コラボレーション開発を促進できます。
  • リポジトリ・インサイト: リポジトリまたはプロジェクト・レベルでデータを集計することで、インサイト・フォームでデータを視覚的に分析し、開発チームがリポジトリ・アクティビティを分析し、コード貢献を追跡し、開発プロセスのボトルネックを特定できるようにします。

いくつかのユース・ケースについて詳しく見てみましょう。

必須コード承認

承認ルールを構成して、リポジトリ管理者によって定義された指定ユーザーによって、プル・リクエストがレビューされるようにできます。このプロセスにより、同僚が新しいコード変更をレビューおよび承認して、開発サイクルの早い段階で潜在的な問題を捕捉できるため、コードの品質が向上します。承認ルールはプロジェクト・レベルまたはリポジトリ・レベルで構成できます。これらのルールは付加的なルールであり、プロジェクト・レベルとリポジトリ・レベルの両方で定義された承認ルールが確実に実施されます。レベルごとに、1つ以上の承認グループを構成し、各グループに最小承認数を定義できます。これらのグループを定義すると、承認ルールで指定されているように、必要な数の承認を受信するまで、新しいプルリクエストをマージできないようになります。

Merge check enforcement for minimum code approvals in Oracle Cloud Console.

 

重要なコード・ブランチに対するブランチ保護

ブランチ保護ルールを定義して、重要なコード・ブランチに制限を適用できます。ブランチ保護ルールとDevOps Identity and Access Management (IAM)ポリシーを組み合せることで、不要なブランチの削除、読取り専用ブランチへの偶発的なコミット、プル・リクエストのレビューおよび承認を必要とするブランチへのダイレクト・プッシュ・コミットなど、いくつかのリスクからコード・リポジトリを保護できます。この機能により、チームはソフトウェア開発をより安全にコラボレーションできるため、コード・ベースの品質と整合性が開発ライフサイクル全体で確実に維持されます。

Adding branch protection in the Oracle Cloud Console.

 

リクエスト・インサイトのプル

DevOpsのリポジトリ・インサイト機能を使用して、コード開発アクティビティに関する貴重なインサイトを取得できます。この機能を使用すると、リポジトリ・アクティビティ、コード・コミット頻度、プル・リクエストのスループットとレビュー時間、およびチーム・メンバー貢献度のサマリーをビジュアル化できます。このデータを取得して評価することで、コード・アクティビティを効果的に分析し、プロセスのボトルネックを特定し、プロジェクト内の複数のリポジトリにわたる開発者の貢献度を測定できます。

Repository insights for example pull requests.

まとめ

これらの機能強化により、ソフトウェア開発エクスペリエンスが向上し、堅牢なコラボレーション、厳格なコード品質、およびOCI DevOpsプラットフォーム内の合理化されたワークフローが確保されます。

これらの機能改善の詳細は、次のリソースを参照してください:

Hiroyuki Yoshino

Product Release Manager in Japan


Previous Post

AHFによるアプリケーションの耐障害性、パフォーマンス、セキュリティの最大化- 2024年の機能要約

Eriko Minamino | 12 min read

Next Post


Exadata X11Mの概要: 次世代インテリジェント・データ・アーキテクチャ

Takeshi Maruyama | 2 min read
Oracle Chatbot
Disconnected