• ゲーム
  • Industry
  • リソース
  • コミュニティ
  • 学習
  • サポート
開発
Unityエンジン
任意のプラットフォーム向けに2Dおよび3Dゲームを構築
ダウンロードプランと価格
収益化
アプリ内課金(IAP)
ストア全体でIAPを発見し、管理する
Mediation
収益を最大化し、マネタイズを最適化する
Ad Quality
アプリのユーザーエクスペリエンスを保護する
Tapjoy
長期的なユーザーの忠誠心を構築する
すべてのマネタイズ製品
詳しく見る
詳しく見る
発見され、モバイルユーザーを獲得する
UnityベクターAI
プレイヤーを適切なゲームに接続する
Auraのオンデバイス広告
ピークエンゲージメント時にデバイス上のユーザーにリーチする
すべての成長製品
活用事例
3Dコラボレーション
リアルタイムで3Dプロジェクトを構築およびレビューする
没入型トレーニング
没入型環境でのトレーニング
顧客体験
インタラクティブな3D体験を作成する
すべての業界ソリューション
業界
製造業
運用の卓越性を達成する
小売
店内体験をオンライン体験に変換する
自動車
革新と車内体験を高める
全業界
技術ライブラリ
ドキュメント
公式ユーザーマニュアルとAPIリファレンス
開発者ツール
リリースバージョンと問題追跡
ロードマップ
今後の機能をレビューする
用語集
技術用語のライブラリ
インサイト
ケーススタディ
実際の成功事例
ベストプラクティスガイド
専門家のヒントとコツ
すべてのリソース
新機能
ブログ
更新情報、情報、技術的ヒント
お知らせ
ニュース、ストーリー、プレスセンター
コミュニティハブ
ディスカッション
議論、問題解決、つながる
イベント
グローバルおよびローカルイベント
コミュニティストーリー
Made with Unity
Unityクリエイターの紹介
ライブストリーム
開発者、クリエイター、インサイダーに参加する
Unity Awards
世界中のUnityクリエイターを祝う
すべてのレベルに対応
Unity Learn
無料でUnityスキルをマスターする
プロフェッショナルトレーニング
Unityトレーナーでチームをレベルアップ
Unity初心者向け
スタートガイド
学習を開始しましょう
Unityエッセンシャルパスウェイ
Unity は初めてですか?旅を始めましょう
ハウツーガイド
実用的なヒントとベストプラクティス
教育
学生向け
キャリアをスタートさせる
教育者向け
教育を大幅に強化
教育機関向けライセンス
Unityの力をあなたの機関に持ち込む
認定教材
Unityのマスタリーを証明する
サポートオプション
ヘルプを得る
Unityで成功するためのサポート
Success Plan
専門的なサポートで目標を早く達成する
FAQ
よくある質問への回答
お問い合わせ
私たちのチームに連絡する
プランと価格
言語設定
  • English
  • Deutsch
  • 日本語
  • Français
  • Português
  • 中文
  • Español
  • Русский
  • 한국어
ソーシャル
通貨
購入
  • プロダクト
  • Unity Ads
  • サブスクリプション
  • Unity Asset Store
  • リセラー
教育
  • 学生
  • 教育関係者
  • 教育機関
  • 認定資格試験
  • 学ぶ
  • スキル開発プログラム
ダウンロード
  • Unity Hub
  • ダウンロードアーカイブ
  • ベータプログラム
Unity Labs
  • ラボ
  • 研究論文
リソース
  • Learn プラットフォーム
  • コミュニティ
  • ドキュメント
  • Unity QA
  • FAQ
  • サービスのステータス
  • ケーススタディ
  • Made with Unity
Unity
  • 当社について
  • ニュースレター
  • ブログ
  • イベント
  • キャリア
  • ヘルプ
  • プレス
  • パートナー
  • 投資家
  • アフィリエイト
  • セキュリティ
  • ソーシャルインパクト
  • インクルージョンとダイバーシティ
  • お問い合わせ
Copyright © 2025 Unity Technologies
  • 法規事項
  • プライバシーポリシー
  • クッキーについて
  • 私の個人情報を販売または共有しないでください

「Unity」の名称、Unity のロゴ、およびその他の Unity の商標は、米国およびその他の国における Unity Technologies またはその関係会社の商標または登録商標です(詳しくはこちら)。その他の名称またはブランドは該当する所有者の商標です。

Hero background image

タスクブランチのワークフローを実装する方法

常にデプロイの準備ができています。タスクブランチワークフローでは、DevOps の原則を使用して、チームが高品質な変更の継続的なフローを通じてスピードを達成するのを支援します。
その他のベストプラクティスを見る
ソリューションの詳細を見る
その他のベストプラクティスを見る
ソリューションの詳細を見る
  • 概要
  • メリット
  • 主なステップ
  • ベストプラクティス
  • FAQ
ソリューションの詳細を見る
このウェブページは、お客様の便宜のために機械翻訳されたものです。翻訳されたコンテンツの正確性や信頼性は保証いたしかねます。翻訳されたコンテンツの正確性について疑問をお持ちの場合は、ウェブページの公式な英語版をご覧ください。
ここをクリックしてください。
タスクブランチ画像

タスクブランチのワークフローとは

パターンは単純です。課題トラッカーで新しいタスクごとに作業する新しいブランチを作成します。タスクブランチは何千ものブランチを簡単に処理できるため、Unity Version Control との連携に最適です。このワークフローは必須ではありません。最終的には、組織にとって最適なワークフローを評価する必要があります。

主なメリット

並行開発

タスクブランチワークフローは、1 つのブランチのみを使用する従来のアプローチよりも、並列開発をより行いやすいように設計されています。各タスクが別々のブランチにあるため、いつでもメインからリリースできます。

コンテンツは常に管理されている

通常、開発者は変更のコミットに慎重になります。これは、変更がソース管理の外に長く留まる可能性があるからです。タスクブランチワークフローでは、頻繁にチェックインできるため、システム内の変更履歴全体を常に確認できます。

メインブランチをクリーンに保つ

メインブランチ組織は、タスクごとのブランチメソッドの目的の 1 つです。メインブランチに入るすべてのものを慎重に管理することは、新しいバグがタスクブランチに隔離されるため、ビルドを誤って壊す簡単な方法がないことを意味します。

タスクブランチワークフローの主なステップ

DevOps の精神により、このワークフローはタスクのサイクルタイムを短縮し、新しいコンテンツをできるだけ早く本番環境に取り込むことができます。日常業務におけるルートソフトウェアの導入。

タスクブランチワークフローの主なステップ

  • タスクとタスクブランチ
  • 開発
  • レビュー
  • 検証
  • テストとマージの自動化
  • デプロイ
タスクブランチ画像

タスクとタスクブランチ

このプロセスは、課題追跡システムまたはプロジェクト管理システムのタスクから始まります。Jira、Bugzilla、Mantis、OnTime、または独自の社内ソリューション。ここで重要なのは、すべてのアクションにタスクが関連付けられていることです。新機能の一部であるかバグ修正の一部であるかは重要ではありません。そのためのタスクを作成します。

次に、そのタスクのブランチを作成します。

わかりやすいブランチの命名規則を推奨します。プレフィックス(この例では「タスク」)とそれに続く課題トラッカーのタスク番号。これにより、変更の完全なトレーサビリティを保つことができます。

タスクブランチ画像

開発

タスクブランチで作業し、必要なだけチェックインします。コメントの各ステップを説明し、レビューアーにわかりやすく説明してください。

タスクが完了したら、ブランチの「status」属性を「resolved」に設定します。

または、課題トラッカーで完了とマークすることもできます。すべては、特定のツールセットと、ワークフローを実際にどのように実装するかによって異なります。

タスクブランチ画像

レビュー

タスクを完了とマークすると、同僚がレビューできるようになります。

次は、レビュアーが変更箇所を確認し、コードスタイルのバグ、エラー、不整合、または変更すべきデザインの側面を見つけ出す番です。その場合、タスクが再度開かれ、サイクルが再開されます。

タスクブランチ画像

検証

検証はオプションの手順です。

チームによってはタスクを「検証」します。別のチームメンバーが短い探索テストを行い、新機能や変更点が適切であることを確認します。彼らはバグを探すのではなく(自動テストがそれを解決します)、顧客の観点から変更を検討します。ステータスは属性で「validated」に設定できます。

タスクブランチ画像

テストとマージの自動化

特定の属性セットを持つすべてのブランチを監視するように継続的インテグレーション(CI)システムを設定します。ブランチは、特定のステータス(この場合は「検証済み」)に達した場合にのみ CI システムによって考慮されます。

タスクがレビュー/検証されると、メインにマージされる前にタスクブランチが自動的にテストされます。

テストスイートがマージに合格すると、ビルドとテストのために確認され、CI システムに送信されます。このプロセスは、ビルドの破損を防ぐのに役立ちます。失敗した場合はプロセスが再起動され、競合を解決するために main からリベースする必要があります。

タスクブランチ画像

デプロイ

テストに合格すると、マージがチェックインされ、ブランチをデリバリする準備が整います。ステータスが「merged」に設定されます。

新しいリリースをデプロイする準備ができたら、メインの新しい変更セットはそのようにラベル付けされ、ソフトウェアは本番環境にデプロイされます。

新しいタスクがこのサイクルを経過した後に新しいリリースを入手することも、いくつかのタスクをグループ化することもできます。継続的デプロイを実践する場合、すべてのタスクを実制作にデプロイするのが最も論理的なワークフローです。

ベストプラクティス

ベストプラクティス

  • 継続的インテグレーションの設定
  • ブランチ命名規則のベストプラクティス
  • タスクブランチを短くする
  • ワークフローと文化
  • タスクブランチを独立させる
  • レビューアを念頭に置く
  • 完了したタスクはデプロイ可能でなければならない
  • 機能トグル
  • 機能を使用するには?
タスクブランチ画像

継続的インテグレーションの設定

Unity Version Control を使用すると、Jenkins、Bamboo、Unity Cloud Build など、選択した CI ツールのプラグインを使用して、テストとマージの自動化ステップを設定できます

このステップは、Unity Version Control のマージボット機能を使用して調整することもできます。マージボットはブランチをマージし、ビルドをトリガーして動作を確認できます。マージは、ビルドが良好である場合にのみ確認され、壊れたビルドを回避します。

タスクブランチ画像

ブランチ命名規則のベストプラクティス

私たちは、プレフィックス + タスク番号という命名規則に従うようにしています。たとえば、ブランチの名前は task1213、task1209、task1221 です。プレフィックスは「task」で、番号は関連する課題トラッカーの実際のタスク番号を表します。

また、ブランチエクスプローラーが課題トラッカーから番号を取得するので、このスクリーンショットには各ブランチの説明と番号も表示されています。「display branch task info」を選択すると、ブランチの説明も表示されます。

タスクブランチを短くする

タスクは 16 時間を超えてはいけません。このプラクティスにより、プロジェクトのタイムラインを管理できます。

タスクブランチは素早く閉じる必要があります。わずか数時間で完了できる小さなタスクがたくさんあるのが理想です。この構造により、プロジェクトのリズムを維持し、継続的なデプロイを容易にします。例えば、1 週間にわたる大きなタスクでは、サイクルが停止してしまいます 。

注意すべき危険信号:「鉈切り」のタスクを作成しない。タスクをより細かく分割する必要がある場合は、タスクが独立しても意味があり、独立してデプロイできることを確認してください。

タスクブランチ画像

ワークフローと文化

タスクブランチのワークフローは、チーム全体の賛同がなければ成功しません。

他の DevOps プロセスと同様に、このワークフローにも文化的な要素があります。タスクブランチとは、進捗をオープンに伝達し、サイロ化を避けることです。ワークフローやタスクの特定の作業方法を義務付ける前に、調整を進める必要があります。チームメンバーが、大きなタスクに長時間悩むのではなく、小さなタスクを今すぐ終わらせるメリットを理解できるようにします。

タスクブランチ画像

タスクブランチを独立させる

自分自身(またはチームメイト)に尋ねてみましょう。タスク 1209 を開始するには、タスク 1213 で終了したコードが本当に必要ですか?

タスクは思ったより独立している傾向があります。はい、同じトピックにあるかもしれませんが、まったく同じコードに触れる必要はありません。新しいものを追加するだけで、マージを信頼して実行できます。

上の例の 1213 と 1209 がタスクではなくバグ修正だったとします。一方がもう一方に依存することは望ましくありません。メインキーを押して、できるだけ早く解放する必要があります。同じコードに触れたとしても、修正は異なります。

上級者向けテクニックを見る
タスクブランチ画像

レビューアを念頭に置く

すべてのチェックインは、レビュアーがあなたの一連の思考とプロセスに従って、あなたがタスクにどのように対処したかを理解するのに役立つ必要があります。

チェックインのコメントに詳細を残すと、ブランチ全体を差分表示する必要がなくなるため、レビュー担当者に役立ちます。代わりに、変更セットごとに差分を取ります。また、タスクの各段階を明確にするために、事前に記録された説明に従って進めます。100 以上の変更されたファイルの大胆なリストを見ることはありません。その代わりに、段階的に進めていきます。

詳しく見る
タスクブランチ画像

完了したタスクはデプロイ可能でなければならない

すべてのタスクブランチは、完了したら統合する準備ができている必要があります。変更が壊れやすい、または製品がぎこちない動作をするようなら、タスクは完了に設定すべきではありません。

これは、自動化のメリットを享受するには小さな価格です。チームは「完成」の定義(「本番環境への準備ができている」という意味)に沿って行動しなければなりません。その代わりに、タスクを実制作への移行は簡単で、完全に自動化されており、午前 2 時に火災訓練が発生することはないため、安心して作業を進めることができます。

機能トグル

機能トグルとは何ですか?これらは、継続的な導入に不可欠です。このソフトウェア開発手法により、機能が完成し、リリース準備が整う前にテストを行うことができます。

機能トグルは、ランタイム中に機能を非表示、有効、または無効にできます。この機能を有効にするのは、開発チーム、少数のアーリーアダプター、またはすべてのユーザーのみです。例えば、開発者はテストのために機能を有効にし、開発中に他のユーザーに対して無効にすることができます。

タスクブランチ画像

機能を使用するには?

例を見てみましょう。7 つのパーツに分割された大きな機能がタスクに変換され、タスクブランチを使用して実装されます。パート 4 は他に準備できるものがないにもかかわらず、どのように導入できるのでしょうか。

パート 4 は、機能トグルを使用してメインブランチにマージしたり、非表示のまま展開したりすることもできます。

非表示にしても、新しいコードがリリース前のテストをスキップするわけではありません。機能全体がアクティベートされる準備ができたら、個々のパーツはすでに数回テストされています。最後の部分を統合しても、ビッグバンマージは発生しません。メインの部分にマージされる小さな部分です。

その他の役に立つガイド

タスクブランチ画像

Unity プロジェクトを整理するためのベストプラクティス

Unity プロジェクトの基準設定に関する役立つヒントを活用して、効果的なゲーム開発にチームを導きましょう。

その方法を見る
タスクブランチ画像

バージョン管理のベストプラクティス

選択したバージョン管理システムを最大限に活用するためのベストプラクティスをご覧ください。

詳細を見る
タスクブランチ画像
もっと色々と知りたい方には

この記事が参考になった方は、プロジェクトを整理するためのベストプラクティスに関する別のリソースをご覧ください。

無料の e ブックを読む
ソリューションの詳細を見る

よくあるご質問

ここで説明されている部分は Unity Version Control に含まれますか?

+

Plastic はどのような CI システムと統合できますか?

+

独自の CI をプラグインできますか?

+

CI システムと課題トラッカーは必要ですか?

+

Unity Version Control ではタスクブランチが必須ですか?

+

Jira ではすべてのタスクにタスクが必要ですか?

+

新機能が 1 つのタスクに対して大きすぎる場合はどうなりますか?

+