Azure DevOps と GitHub の機能比較
対象: 開発者/プロジェクトマネージャー/CTO
目的: どちらを採用すべきか判断するために、機能・価格・運用面を網羅的に理解する
目次
- 概要
- ソースコード管理
- CI/CD(GitHub Actions vs Azure Pipelines)
- プロジェクト管理
- 価格とライセンス
- セキュリティとコンプライアンス
- エンタープライズ機能
- Azure との統合性
- まとめ
- 参考リンク
概要
|
Azure DevOps |
GitHub |
由来 |
旧 VSTS/TFS をクラウド SaaS 化した オールインワン DevSecOps
|
OSS 文化を基盤に進化した 世界最大の Git プラットフォーム
|
特徴 |
Boards・Repos・Pipelines など 機能別サービス を1枚の UI で提供 |
Git リポジトリに Actions・Projects・Security を追加する“開発者体験”重視 |
主な強み |
エンタープライズ向けプロセス管理・Azure AD 連携・オンプレ版 |
OSS/内製 SaaS との親和性・Marketplace の豊富さ・Code セキュリティ |
ソースコード管理
|
Azure DevOps |
GitHub |
対応 VCS |
Git / TFVC (集中型) |
Git のみ (分散型) |
PR 機能 |
ブランチポリシーでレビュワー数・WorkItem 必須等を細粒度制御 |
Branch Protection でレビュー・CI 必須などを設定 |
リポジトリ構造 |
1 Project 内に複数 Repo 可 |
Org/User 配下に Repo、Fork & PR 文化 |
大規模モノレポ |
TFVC 継続利用や段階的 Git 移行が可能 |
Git 機能(部分クローン等)で対応 |
CI/CD を徹底比較 ― GitHub Actions vs Azure Pipelines
1. 用語と階層構造
レイヤ |
GitHub Actions |
Azure Pipelines |
Top |
Workflow (.github/workflows/*.yml ) |
Pipeline (azure-pipelines.yml ) |
Stage |
なし(ジョブ依存で擬似ステージ化) |
Stage (deploy, test など) |
Unit |
Job (runner 単位) |
Job |
Step |
シェル/Action 呼び出し |
シェル/Task (Marketplace) |
再利用 |
Reusable Workflow / Composite Action |
Template YAML / Task Group |
- GitHub は Workflow → Job → Step の 3 階層。
- Azure は Pipeline → Stage → Job → Step の 4 階層で、大規模デプロイをステージ単位に分割しやすい。
2. ランナー/ホストエージェント
|
GitHub (Hosted Runners) |
Azure DevOps (Microsoft-hosted agents) |
OS/CPU |
Ubuntu, Windows, macOS, arm64 , GPU |
Ubuntu, Windows, macOS、Windows Server GPU |
無料枠 (プライベート) |
2,000 分/月 + 20 同時ジョブ上限 |
1,800 分/月 + 1 並列ジョブ上限 |
公開リポ |
無制限 |
10 並列 / 無制限分 |
課金単位 |
分課金 (プラン別: 3,000 / 50,000 分など) |
ジョブ単位サブスクリプション (並列 1 本あたり $40/月 など) |
自己ホスト |
Docker/VM/K8s オートスケール◎ |
Windows / Linux / macOS エージェント |
ポイント
- GitHub は 分課金 でスケールに柔軟。エンタープライズは 50,000 分/月無償枠。
- Azure は ジョブサブスクリプション で長時間ビルドに強い(時間無制限、6h/ジョブ)。
3. セキュリティ & ID フェデレーション
機能 |
GitHub Actions |
Azure Pipelines |
OIDC ワークロード連携 |
Workflow 直書きで OIDC トークン発行 Reusable Workflow + CloudTrust |
Service connection (Workload identity federation) ID トークン自動リフレッシュ対応 |
Secret 管理 |
Encrypted Secrets / Environment Secrets |
Library 変数グループ / Azure Key Vault 参照 |
デプロイ保護 |
Custom Deployment Protection Rules (GitHub App) |
Approval Gates / Checks (ステージ・環境) |
OIDC により クラウド認証情報を静的シークレットから解放。GitHub は YAML 数行で設定でき、Azure は Service Connection UI で設定後タスクが ID トークンを自動取得。
4. 再利用性・テンプレート化
アプローチ |
GitHub |
Azure |
再利用 Workflow |
workflow_call で参照。Org 共有が容易 |
templates: 句で YAML テンプレートをネスト |
コンポジット |
uses: ./.github/actions/* で Action を局所化 |
Task Group で GUI 作成 → 他 Pipeline で呼び出し |
マトリックス実行 |
strategy.matrix で OS × Lang など組合せ爆増 |
matrix: 同等機能 (v2023~) |
5. デプロイメント & 環境
|
GitHub Actions |
Azure Pipelines |
環境リソース |
Environment + deployment Job Environment Secrets / Protection Rules |
Environment + Deployment job Approvals, Checks, Gates |
多段リリース |
ワークフロー分割 or Job 依存 |
Stage 単位で本番/検証/DR をシンプル記述 |
Blue/Green, Ring |
strategy: rolling , step-level flags |
deploymentStrategy: (rolling, canary, blueGreen) |
6. キャッシュ・成果物・スピード最適化
|
GitHub |
Azure |
ビルトイン Cache |
actions/cache (Key → Tarball) |
CacheBeta タスク (2024 GA) |
Docker Layer |
docker/build-push-action で ACR キャッシュ |
task: Docker + --cache-from
|
成果物 |
actions/upload-artifact |
PublishBuildArtifacts , PublishPipelineArtifact
|
秒単位 メトリクス |
Job Summary で HTML レポートを post (2024) |
Pipeline Diagnostic Logs & Analytics View |
7. パフォーマンス & 同時実行戦略
7. パフォーマンス & 同時実行戦略
|
GitHub (Free) |
Azure (Private) |
最大並列 |
20 ジョブ |
1 ジョブ (1,800 分) |
拡張方法 |
Self-hosted runner 追加 or Larger Runner (GPU/2-48vCPU) |
Self-hosted agent プール追加 or Paid Parallel Job |
長時間実行 |
Hosted 72h/Job 上限 ⇒ 分割推奨 |
Self-hosted 制限なし、Hosted 6h/Job |
8. 代表的 YAML 例
GitHub: Node.js アプリを Azure App Service にデプロイ
name: ci-cd
on:
push:
branches: [ main ]
jobs:
build-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with: { node-version: 20 }
- run: npm ci && npm test
- uses: actions/upload-artifact@v4
with: { name: dist, path: . }
deploy:
needs: build-test
runs-on: ubuntu-latest
environment:
name: production
url: ${{ steps.deploy.outputs.webapp-url }}
permissions:
id-token: write # OIDC
steps:
- uses: actions/download-artifact@v4
with: { name: dist }
- uses: azure/login@v2
with:
oidc: true
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
- uses: azure/webapps-deploy@v3
with:
app-name: my-node-webapp
package: ./dist
プロジェクト管理
|
Azure Boards |
GitHub Issues / Projects |
ワークアイテム |
Epic/Feature/Story/Bug など階層管理 |
Issue + ラベル + カスタムフィールド |
ボード |
カンバン / スプリントボード バーンダウンや CFD 内蔵 |
Projects (β) で Kanban・テーブル・ロードマップ |
レポート |
Velocity, CFD, Burndown 等豊富 |
基本グラフ・API/外部ツール連携 |
適合規模 |
数百人×複数チームの厳格プロセス |
小規模~OSS のライトウェイト |
UI 参考スクリーンショット
Azure Boards |
GitHub Projects |
 |
 |
価格とライセンス
|
Azure DevOps Services |
GitHub |
Free 枠 |
5 ユーザーまで無料 Pipelines 1,800 分/月 |
ユーザー無制限 Actions 2,000 分/月 |
有償プラン |
Basic $6/人/月 (6 人目~) |
Team $4/人/月 Enterprise $21/人/月 |
エンタープライズ |
Azure DevOps Server (オンプレ) |
GitHub Enterprise Server (VM) |
OSS 優遇 |
公開 Repo:Pipelines 10 並列無制限 |
公開 Repo:Actions 無制限 |
セキュリティとコンプライアンス
項目 |
Azure DevOps |
GitHub |
認証連携 |
Azure AD ネイティブ |
SAML/OIDC (Azure AD 等) |
RBAC |
プロジェクト/エリア/ブランチ単位で細粒度 |
Org/Team/Repo 単位でシンプル |
コードスキャン |
拡張 (SonarQube など) |
Advanced Security (CodeQL, Secret Scanning) |
秘匿情報 |
Key Vault 変数連携 |
Encrypted Secrets / Push Protection |
監査ログ |
CSV/JSON → Azure Monitor 連携可 |
UI/API 監査ログ、IP Allow List |
特殊機能 |
Stakeholder 無料ライセンス |
Enterprise Managed Users (AAD SCIM) |
エンタープライズ機能
-
プロセスカスタマイズ: Azure Boards は状態・必須フィールド等を GUI で編集可
-
Stakeholder ライセンス: 閲覧・承認のみ無料 (Azure DevOps)
-
GitHub Enterprise Account: 複数 Org 横串管理、IP 制限や監査 API 集約
-
SCIM プロビジョニング: Azure AD ⇔ GitHub EMU でユーザー自動作成/削除
Azure との統合性
項目 |
GitHub |
Azure DevOps |
Azure へのデプロイ |
公式 Azure Actions で SP/OIDC 認証し IaC/AKS/Functions へ |
タスク選択のみで ARM/Bicep/Container Apps へ |
Azure AD |
SAML SSO・Enterprise Managed Users |
組織 Azure AD 直結 |
Boards 連携 |
Azure Boards ↔ GitHub (拡張) |
ネイティブ |
監査/ログ |
Webhook や Actions でカスタム送信 |
Azure Monitor / Sentinel へストリーム |
まとめ
シナリオ |
推奨 |
既存 TFS/TFVC から段階移行 |
Azure DevOps |
OSS & 内製 SaaS を一本化 |
GitHub |
厳格な工程管理/複数チーム Scrum |
Azure Boards(+GitHub Repos 連携も可) |
クラウドネイティブ/IaC 中心 |
GitHub Actions |
シフトレフト・コードセキュリティ重視 |
GitHub + Advanced Security |
参考リンク
- Azure DevOps
- GitHub
- セキュリティ & コンプライアンス
更新日: 2025-07-29
内容・価格は変更される場合があります。最新情報は各公式サイトをご確認ください。