Azure

Azure DevOps の組織・プロジェクト作成とパイプライン設定完全ガイド

ⓘ本ページはプロモーションが含まれています

お得なお知らせ

スポンサードリンク
1ヶ月で資格+現場入り

インフラエンジニアへの最短ルート

未経験でもAWS・Linux・ネットワーク資格を最短で取り、現場入りまでサポート。SREやクラウドエンジニアの入口。

CODE×CODEスピード転職|無料面談▶ SRE/クラウドのフリーランス案件▶

▶ AWS/GCP/Kubernetesの独学には Kindle Unlimited の技術書読み放題がコスパ最強。


スポンサードリンク

1. 組織とプロジェクトの作成(前提条件)

1‑1. 必要な権限

  • Project Collection Administrators または Contributor ロールが付与された Azure AD アカウント
  • 権限が不足していると UI 操作や REST API がすべて失敗するため、最初に確認しておきましょう。

1‑2. 組織の作成手順

手順 内容
ブラウザで https://dev.azure.com/ にアクセスし、右上の Start をクリック
「組織名」を入力(例: myorg)→「続行」
必要に応じて Azure AD テナントを選択し、作成完了

ポイント:無料プランでも上記だけで組織が構築できます。企業利用の場合は、Organization Settings の Policies で MFA や条件付きアクセスの設定も検討してください。

1‑3. プロジェクトの新規作成

  1. 組織ホーム左メニュー → ProjectsNew project
  2. 必要項目を入力
  3. Project name(例: SampleApp
  4. Visibility:Public または Private
  5. Version control:Git(TFVC は非推奨)
  6. Work item process:Agile / Scrum / Basic から選択
  7. Create をクリックして完了

1‑4. 権限付与の確認

  • 組織設定 → SecurityUsers
  • 自分のアカウントが Project Collection Administrators または少なくとも Contributor に属しているかチェック

2. リポジトリ準備とブランチ戦略

2‑1. Git リポジトリの作成

手順 操作
プロジェクト画面左メニュー → ReposFiles
New repository をクリックし、名前 sample-app、Git を選択
必要なら README を自動生成し、Create

2‑2. ローカルクローンと初回プッシュ

2‑3. 推奨ブランチモデル

モデル 主なブランチ 用途
Trunk‑Based mainfeature/*release/* 本番デプロイは常に main にマージし、CI が自動走行
軽量 Git Flow developfeature/*release/*hotfix/* 中規模以上のチーム向け。develop が統合ブランチになる

ポイント:小規模チームは main のみでも問題ありませんが、将来的に機能追加やリリース作業が増えることを想定し、最低限 feature/*release/* を導入しておくとスムーズです。


3. UI で最初のパイプラインを作成

3‑1. パイプライン作成フロー(Web UI)

  1. PipelinesCreate pipeline
  2. リポジトリ選択:Azure Repos Gitsample-app
  3. テンプレート選択:「Starter pipeline」(空の YAML)または言語別テンプレート
  4. エディタに自動生成された YAML が表示されるので内容を確認し、Save and run をクリック

3‑2. UI 作成で得られる主な利点

  • 即時ビルド実行azure-pipelines.yml がリポジトリにコミットされると同時に CI が走ります。
  • YAML の雛形取得:生成されたコードをベースにカスタマイズでき、手書きミスが減少します。
  • 可視化:左メニューの Runs で実行履歴やログが一目で把握可能

ポイント:UI から作成したパイプラインはあくまで「開始点」。本格的なテスト・デプロイ設定は YAML 編集で拡張してください。


4. azure-pipelines.yml の基本構造と AI アシスト活用

4‑1. 必須要素の概要

要素 説明
trigger ビルドを自動起動するブランチやパスを定義
pool 実行エージェント(OS・イメージ)を指定
stages 大きなフェーズ(Build、Test、Deploy など)を分割
jobs 同一ステージ内で実行できるタスク集合
steps 実際のコマンド・タスクを記述

4‑2. 最小構成例

4‑3. AI アシスト(Azure DevOps AI Assist)活用手順

※2024 年 10 月時点の情報
Azure DevOps の AI Assist はプレビュー機能として提供されており、組織設定で有効化するだけで UI 上に「Generate with AI」ボタンが表示されます。正式リリース日や機能追加は Microsoft の公式アナウンスをご参照ください。

手順

  1. 組織設定Preview featuresAI Assist を ON にする
  2. パイプライン作成画面のテンプレート選択時に右上の Generate with AI ボタンが表示されるのでクリック
  3. 「自然言語プロンプト」を入力(例: Node.js アプリを Ubuntu ランナーでビルドし、Azure Web App (dev) にデプロイするパイプラインを書いて
  4. 生成された YAML がエディタに表示されるので、レビュー → Save and run

AI Assist 利用時の留意点

  • プレビュー機能であるため、必ず出力内容を手動で確認し、組織独自のポリシー(例: セキュリティチェックや変数名)に合致しているか検証してください。
  • 生成結果はテンプレート ですので、実際のビルド環境に合わせて poolserviceConnection の名前を修正する必要があります。

4‑4. ポイントまとめ

  • 基本構造(trigger → pool → stages → jobs → steps)を把握すれば、AI Assist が出力したコードでも容易にカスタマイズ可能。
  • AI Assist は「時間短縮」だけでなく、「ヒューマンエラー防止」の側面もあるため、導入前に プレビュー有効化レビュー体制 を整えておくことが重要です。

5. Environments・Variable Groups・Key Vault による安全な設定管理

5‑1. Environments の作成と承認ポリシー

手順 操作
PipelinesEnvironmentsNew environment
名前(例: devstagingprod)を入力し、必要なら Resource(Kubernetes クラスタや Azure VM)を紐付ける
Approvals and checks タブで Manual approvalBranch protection を設定

Environments に対する承認は、デプロイ前に必ず担当者が確認できるガバナンス手段です。

5‑2. Variable Group と Azure Key Vault の連携

作成手順

  1. PipelinesLibrary+ Variable group
  2. 名前 dev-vars、スコープ(対象環境)を選択
  3. 「Link secrets from an Azure key vault as variables」にチェックし、利用する Key Vault とシークレット名を指定

ポイント:Key Vault へのアクセスは、Azure DevOps のサービスプリンシパルに get 権限が付与されていることが前提です。アクセスポリシーの確認・設定も忘れずに。

5‑3. CI トリガーと PR ビルドの実装例

  • maindevelop のプッシュで CI が走り、develop に対する Pull Request 作成時にもビルドが自動実行されます。

5‑4. ポイントまとめ

  • EnvironmentsVariable GroupsKey Vault の三層構造で、環境ごとに安全かつ承認制の設定を一元管理できる。
  • CI/PR ビルドは同じ変数グループを参照することで、コードとインフラ設定の同期が保たれます。

6. ベストプラクティス・エラー対策 & まとめ

6‑1. パイプライン設計のベストプラクティス

項目 推奨設定 / 手法
ステージ分割 Build → Test → Deploy の3段階で明確に分離し、dependsOncondition で失敗時の流れを制御
キャッシュ活用 Cache@2 タスクで node_modules や Maven リポジトリをキャッシュし、ビルド時間を最大30%短縮
ロギング強化 variables: { system.debug: true } で詳細ログ取得。失敗時は Azure Monitor の Log Analytics に転送
構文検証 VS Code の「Azure Pipelines」拡張や az pipelines validate -f azure-pipelines.yml を CI 前に実行
権限管理 Service Connection は Project スコープではなく Organization スコープで作成し、Allow all pipelines to use this connection を有効化

6‑2. よくあるエラーと対処法

エラー 原因 対策
YAML 構文エラー (##[error]) インデント・コロン抜け等 VS Code の Linter で事前検証、エラーメッセージの行番号を確認
401/403 権限不足 Service Connection がプロジェクトスコープか、アクセスポリシー未設定 組織レベルに昇格し Allow all pipelines... を有効化
Key Vault シークレット取得失敗 Azure DevOps のサービスプリンシパルに get 権限がない Key Vault → Access policies で該当プリンシパルに Get を付与
環境承認で止まる Approvals & Checks に設定された担当者が不在 代替承認者を追加、もしくはテスト目的で一時的に Auto approve(限定的)を使用

6‑3. 全体のまとめ

  1. 組織・プロジェクトと適切な権限 を最初に確立することで、以降の操作がスムーズになる。
  2. Git リポジトリとブランチ戦略 は CI の成功率を左右する重要要素。Trunk‑Based がシンプルで推奨される。
  3. UI で作成したパイプライン は即時動作し、YAML 雛形として活用できるため、初心者のハードルが低い。
  4. azure-pipelines.yml の基本構造 を把握した上で、AI Assist(プレビュー)を利用するとコード生成時間が大幅に短縮できる。
  5. Environments・Variable Groups・Key Vault による設定管理は、セキュリティと承認フローの両立に不可欠。
  6. ベストプラクティス(ステージ分割・キャッシュ・ロギング)+エラー対策 を実装すれば、パイプラインは安定稼働し、障害対応コストも削減できる。

最終的なチェックリスト
- [ ] 組織・プロジェクトの権限が正しく付与されているか
- [ ] リポジトリとブランチモデルが CI フレンドリーになっているか
- [ ] 初回パイプラインは UI で作成し、YAML がコミット済みか
- [ ] azure-pipelines.yml に必須要素(trigger・pool・stages)が揃っているか
- [ ] AI Assist を有効化した場合は生成コードをレビューしたか
- [ ] Environments と変数管理が適切に設定され、Key Vault 連携ができているか
- [ ] ベストプラクティス(キャッシュ・ロギング等)が実装済みか

これらの項目を順番にクリアすれば、Azure DevOps 上で安全かつ高速な CI/CD パイプライン を構築できるはずです。ぜひ本ガイドを手元に置きながら、実際のプロジェクトへ適用してみてください。

スポンサードリンク

お得なお知らせ

スポンサードリンク
1ヶ月で資格+現場入り

インフラエンジニアへの最短ルート

未経験でもAWS・Linux・ネットワーク資格を最短で取り、現場入りまでサポート。SREやクラウドエンジニアの入口。

CODE×CODEスピード転職|無料面談▶ SRE/クラウドのフリーランス案件▶

▶ AWS/GCP/Kubernetesの独学には Kindle Unlimited の技術書読み放題がコスパ最強。


-Azure