Azure

Azure DevOps と GitHub Actions 徹底比較:料金・機能・移行ポイント

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

お得なお知らせ

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

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

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

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

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


スポンサードリンク

サービス全体像と選定のポイント

項目 Azure DevOps GitHub Actions
提供元 Microsoft(統合開発プラットフォーム) Microsoft(GitHub に組み込まれた CI/CD エンジン)
主な対象 エンタープライズ向けにプロジェクト管理・パッケージングまでを一括で提供 ソースコード中心の開発フローを持つチーム、特にオープンソースやスタートアップに最適
料金体系(2024 年時点) Microsoft-hosted エージェントは月間 1,800 分 が無料。超過分はジョブ単位で従量課金※[Microsoft Docs]。セルフホストはインフラ費用のみ。 パブリックリポジトリは実行時間無制限。プライベートリポジトリは 2,000 分 / 月 が無料(GitHub Free)。超過分は Linux $0.008/分、Windows/macOS $0.015/分※[GitHub Docs]。
無料枠の特徴 プロジェクト規模が小さい場合でも 30 時間程度のビルドが可能。 パブリックリポジトリは無制限、プライベートは小規模 CI に十分な無料分が提供される。
UI/UX Classic エディタ(ドラッグ&ドロップ)と YAML のハイブリッド。 完全コード駆動型エディタ。UI はシンプルで GitHub の UI に統合されている。

ポイント:どちらを選ぶかは「統合されたプロジェクト管理が必要か」「無料枠の規模とコスト感度」など、組織の要件に合わせて判断することが重要です。


パイプライン構築のアプローチ

階層構造の違い

Azure DevOps GitHub Actions
PipelineStageJobStep WorkflowJobStep
  • Azure DevOps は Stage が明示的に存在するため、環境(dev / staging / prod)ごとの分割が直感的。
  • GitHub Actions では needs キーワードや if 条件でジョブ間の依存関係を表現し、ステージング相当の構成を作る。

YAML 記述例

Azure DevOps(YAML)

GitHub Actions(YAML)

GUI とコードレビューの観点

項目 Azure DevOps GitHub Actions
Classic エディタ あり(ドラッグ&ドロップ) → 初学者向け なし(すべて YAML)
コードレビュー YAML に移行すると PR で差分管理が可能 最初からコード中心なので PR でのレビューは標準的

料金モデルとスケールアウト

無料枠と従量課金(2024 年版)

  • Azure DevOps
  • Microsoft-hosted エージェント:月間 1,800 分 が無料。超過分はジョブあたり $0.016/分(Linux)/$0.032/分(Windows/macOS)※[Microsoft Docs]。
  • セルフホストエージェントはインフラ費用のみで、使用時間制限なし。

  • GitHub Actions

  • パブリックリポジトリ:実行時間無制限。
  • プライベートリポジトリ(Free):月間 2,000 分 が無料。Pro/Team はそれぞれ 3,000・10,000 分が付与される。超過分は Linux $0.008/分、Windows/macOS $0.015/分※[GitHub Docs]。

並列実行数とスケールアウト

項目 Azure DevOps GitHub Actions
標準並列ジョブ 1 組織につき最大 5(追加は有料エージェントプール) パブリック:10 並列/無制限(プランにより変動)。プライベート:デフォルト 20 並列、必要に応じて購入可能
スケールアウト手段 エージェントプールを増設 → 任意数のホストで同時実行可。Azure VM の最新世代(2 vCPU, 8 GB RAM)を利用可能【Microsoft Docs】 max-parallel キーや Organization Settings で上限変更。必要に応じて自前ランナー(セルフホスト)を追加し、無制限にスケールアウト可能

セキュリティと OIDC 認証

OIDC の概要とメリット

項目 GitHub Actions Azure DevOps
標準 OIDC プロバイダー ✅(id-token 権限で JWT を取得) ❌(代替として Service Connection が必要)
シークレット不要化の実装例 aws-actions/configure-aws-credentials@v2 などが OIDC と連携し、AWS の一時的ロールを自動取得。 Azure Resource Manager サービス接続は事前に Service Principal のシークレットを保存する必要があるケースが多い。
設定のハードル permissions: id-token: write をジョブレベルで付与すれば完了。 Service Connection 作成 → Azure AD でアプリ登録 → シークレット/証明書管理という手順が必要。

実務的な効果:OIDC によりシークレット漏洩リスクが大幅に低減し、ローテーション作業も不要になるため、セキュリティポリシー遵守が容易になる。

推奨されるシークレット管理フロー

  1. GitHub Secrets:リポジトリ/組織レベルで暗号化保存。
  2. OIDC 連携:外部クラウド(AWS、Azure、GCP)の IAM ロールを OIDC に紐付け、ジョブ実行時に一時的なアクセストークンを取得。
  3. 最小権限の原則:ロールは必要最小限の権限だけを許可し、期限付きのアクセスに限定。

エコシステムと拡張性

Azure DevOps の統合サービス

  • Boards – スプリント計画・バックログ管理がパイプラインと連携。
  • Artifacts – NuGet、npm、Maven 用プライベートフィードを提供し、CI から直接 push / pull が可能。
  • Test Plans – 手動テストや自動 UI テストの管理機能が統合されている。

GitHub の拡張エコシステム

カテゴリ 主なサービス
Marketplace 1,000 種以上の公式・コミュニティアクション(例:setup-node, docker/build-push-action
GitHub Packages Docker、npm、Maven、NuGet のレジストリをリポジトリ単位で提供。
Dependabot / CodeQL セキュリティスキャンや依存関係自動更新が標準装備。

使い分けの指針

  • Azure DevOps が向いているケース
  • プロジェクト全体を一元管理したい(バックログ → ビルド → デプロイ)。
  • 大規模組織でエンタープライズサポートが必須。

  • GitHub Actions が向いているケース

  • OSS やスタートアップでリポジトリ単位のシンプルな CI/CD が欲しい。
  • Marketplace の豊富なアクションを活用し、短時間でパイプラインを構築したい。

移行ガイドライン

1. 構造マッピング

Azure DevOps GitHub Actions
pipeline.ymlworkflow.yml 同一
stages → 複数 jobs + needs 同一
variablesenv:(Workflow)または secrets.(リポジトリシークレット) 同一

2. タスク置き換え例

Azure DevOps タスク GitHub Actions 相当
DotNetCoreCLI@2 actions/setup-dotnet + run: dotnet build
PublishBuildArtifacts@1 actions/upload-artifact
AzureWebApp@1 azure/webapps-deploy(Marketplace)

3. シークレットと OIDC の移行手順

  1. 既存シークレットをエクスポート
  2. Azure DevOps CLI (az devops security permission) で変数グループを取得し、CSV に保存。
  3. GitHub Secrets にインポート
  4. 組織設定 → Secrets and variablesActionsNew repository secret(バッチスクリプトで自動化可能)。
  5. OIDC 連携の構築
  6. AWS の場合:IAM ロールに信頼ポリシーとして token.actions.githubusercontent.com を追加。
  7. Azure の場合:Azure AD アプリケーションを作成し、Federated credentials に GitHub リポジトリ情報を登録。

4. テストと検証

フェーズ 内容
ユニットテスト 従来の Azure Pipelines 用テストスイートはそのまま dotnet test 等で実行可能。
統合テスト GitHub Actions の workflow_dispatch で手動トリガーし、結果を確認。
本番デプロイ environment protection rules を設定し、プルリクエストマージ時に自動デプロイ。

比較表(要点まとめ)

項目 Azure DevOps GitHub Actions
階層構造 Pipeline → Stage → Job → Step Workflow → Job → Step
無料実行時間 1,800 分 / 月 (Microsoft‑hosted) パブリック無制限、プライベート 2,000 分 / 月(Free)
並列ジョブ上限 標準 5、追加は有料エージェント パブリック 10+、プライベート デフォルト 20(プランに応じて増加)
OIDC サポート なし(Service Connection が代替手段) 標準で提供、シークレット不要化が容易
統合ツール Boards, Repos, Artifacts, Test Plans 等が同一プラットフォーム内に完結 Marketplace、Packages、Dependabot が中心
エンタープライズサポート Microsoft の SLA と Premier サポートあり GitHub Enterprise Cloud で企業向けサポート提供
導入ハードル Classic UI があるため初心者に優しいが、YAML 移行時は学習コストが必要 完全コード駆動なので開発者にとって自然な感覚

FAQ

Q1. 小規模チームで無料枠だけで運用できるか?
A: GitHub Actions はパブリックリポジトリが無制限、プライベートは 2,000 分/月(Free)でほとんどのビルド・テストに対応可能。Azure DevOps も月間 1,800 分の無料枠があるため、規模が小さければどちらでも実装可能です。
Q2. 既存の Azure Pipelines の YAML をそのまま流用できるか?
A: 基本構文は共通していますが、stages がない点やタスク名が異なる点に注意が必要です。自動変換ツールは存在しませんが、上記の「タスク置き換え表」を参照しながら手作業でマッピングするとスムーズです。
Q3. OIDC を利用する際の IAM 設定は難しい?
A: AWS・Azure・GCP の公式ドキュメントにサンプルポリシーが掲載されています。GitHub 側で id-token 権限を付与すれば、ほぼワンクリックでトークン取得が可能です。
Q4. エージェントのセルフホストはどちらでも同様に設定できるか?
A: はい。Azure DevOps と GitHub Actions の両方で、Linux/Windows/macOS のセルフホストエージェントを構築できます。設定手順は公式ドキュメントが詳細に掲載されているので、環境に合わせて選択してください。

参考情報(脚注)

  1. Microsoft Docs – Azure Pipelines pricing
    https://learn.microsoft.com/azure/devops/pipelines/licensing/concurrent-jobs?view=azure-devops

  2. GitHub Docs – Usage limits for GitHub Actions
    https://docs.github.com/en/actions/reference/usage-limits-billing-and-administration#usage-limits-for-github-actions

  3. Microsoft Docs – OIDC with Azure Pipelines
    https://learn.microsoft.com/azure/devops/pipelines/tasks/deploy/azure-resource-manager-service-connection?view=azure-devops

  4. GitHub Docs – Configuring OpenID Connect in GitHub Actions
    https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/about-openid-connect


まとめ

  • Azure DevOps はエンタープライズ向けに「プロジェクト管理」から「CI/CD」までを一括で提供し、Stage ベースの大規模デプロイや長時間ビルドに強みがあります。
  • GitHub Actions はコード中心のシンプルさと OIDC によるシークレット不要化が特徴で、無料枠が手軽に利用できるためスタートアップや OSS プロジェクトに最適です。
  • 移行時は「階層マッピング」「タスク置き換え」「シークレットと OIDC の再設計」の 3 カテゴリを意識すれば、スムーズかつ安全に移行できます。

次のステップ:自社の要件(プロジェクト規模・予算・セキュリティポリシー)を基に上記比較表を活用し、 PoC(概念実証)を 1〜2 週間で実施してみましょう。

スポンサードリンク

お得なお知らせ

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

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

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

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

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


-Azure