1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GitHub / Azure DevOps の違い比較

Last updated at Posted at 2025-07-28

Azure DevOps と GitHub の機能比較

対象: 開発者/プロジェクトマネージャー/CTO
目的: どちらを採用すべきか判断するために、機能・価格・運用面を網羅的に理解する

目次

  1. 概要
  2. ソースコード管理
  3. CI/CD(GitHub Actions vs Azure Pipelines)
  4. プロジェクト管理
  5. 価格とライセンス
  6. セキュリティとコンプライアンス
  7. エンタープライズ機能
  8. Azure との統合性
  9. まとめ
  10. 参考リンク

概要

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 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

参考リンク

更新日: 2025-07-29
内容・価格は変更される場合があります。最新情報は各公式サイトをご確認ください。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?