Upgrade to Pro — share decks privately, control downloads, hide ads and more …

どっちを選ぶ?Azure DevOpsとGitHub

どっちを選ぶ?Azure DevOpsとGitHub

Microsoft が提供するDevOpsソリューションとしてAzure DevOpsとGitHubがあります。これから始められる方はどちらを使えばいいのか悩む場合もあるでしょう。
そんな方向けにどちらを使えばいいのか判断材料となるお話です。

KAMEGAWA Kazushi

October 29, 2022
Tweet

More Decks by KAMEGAWA Kazushi

Other Decks in Programming

Transcript

  1. Who am I? personal: name: KAMEGAWA Kazushi(Last-First) alias: kkamegawa community:

    MVP: Microsoft MVP for Developer Technologies (2009-) Users Group: Team Foundation Server Users Group URL: https://dev.azure.com/tfsug/tfsuginfo Blog: URL: https://kkamegawa.hatenablog.jp devblog radio: https://devblog.connpass.com/
  2. 概要比較 – 無料でどこまで使える? GitHub Azure DevOps 料金 無料(※1) / 4$(月)

    / 21$(月) Pricing · Plans for every developer (github.com) 5人までBasicは無料 / 6人目以降は6$(月) Azure DevOps Services の価格 | Microsoft Azure CI / CD 月毎に2000分無料 (Windows/Linux/macOS) 月毎に1800分無料(事前申請式) (Windows/Linux/macOS) パッケージ 500MB 2GB(デバッグシンボルも登録可能) ソースコード 無制限のレポジトリ(Git) • レポジトリが1GB以上になると警告が出る • Push上限は100MB/ファイル • 無料版のPrivateレポジトリへの招待は3名まで 無制限のレポジトリ(Git/TFVC) • Gitには250GBの上限あり(全体では無制限) • Push上限は5GB/ファイル Git limits - Azure Repos | Microsoft Learn その他 パブリックレポジトリでは上位機能が使用可能 • シークレットスキャン • コードスキャン • DependabotによるPR作成…等 ほとんどのSaaSでは高いプランを契約しないと使 えないID/セキュリティ機能が提供(※2) • 個人用MSアカウント/GitHubアカウント/Azure ADと のSSOが可能 • Azure ADとのテナントと関連付けやセキュリティ機能 と統合可能 • Dependabot / シークレットスキャンがプレビュー開始 (価格は未公表) ※2 Azure ADで認証している場合に限る ※ 1 プライベートレポジトリは3人まで
  3. エンタープライズ向け – 主にオンプレミス GitHub Azure DevOps 料金 Enterprise Cloud(※1) ($21/user/月)

    5人まで無料。6人目から$6/user/month テスト機能を使う場合$52/user/month(※2) AzureサブスクリプションかTFSCAL 無償版のExpress Edition有 オンプレミス GitHub Enterprise Server EOLはほぼ1年 GitHub Enterprise Server releases - GitHub Enterprise Server 3.2 Docs Azure DevOps Server EOLは10年 / SQL Server Standard付 Azure DevOps Server 2020 - Microsoft Lifecycle | Microsoft Learn オンプレミス アカウント • ビルトイン • Enterprise Cloud • LDAP/CAS/SAML オンプレミスActive Directoryアカウント / Windowsローカルアカウントで認証 CI / CD オンプレミスにGitHub Action Runnerをインストール About self-hosted runners - GitHub Docs オンプレミスにAzure Pipelines Agentをイン ストール Azure Pipelines Agents - Azure Pipelines | Microsoft Learn ストレージ インストールするサーバーに依存 ← (※ Expressは10GBまで) ※1 Visual Studio Subscription with GitHub Enterpriseがある場合無償 ※2 Visual Studio Enterprise契約がある場合無償
  4. GitHubとAzure DevOpsの構造の差 Organization 個人ID Team Project 個人 / Organizationに リポジトリが関連づく

    レポジトリが多くなると Organizationと Projectで管理必須 最初からProjectがあり、そ の配下にチケット、リポジトリ、 パイプラインを作成する
  5. CI / CD GitHub Azure DevOps(Pipelines) 無料枠 月毎に2000分無料 (Windows/Linux/macOS) パブリックレポジトリは10並列無制限

    月毎に1800分無料(事前申請式) (Windows/Linux/macOS) パブリックレポジトリは10並列無制限 (簡単な審査あり) サポートOS 現行OSとそのひとつ前。 二つ前のOSは非推奨になり、廃止される (特にVisual Studio / XcodeはOSと セットなので注意) ← パイプライン記述 YAML YAML / GUI(Classic) Oauthアプリ なし(ActionsはGitHubのみサポート) あり(GitHubでも使える) 含まれるソフトウェア 実行されるOSによって変わる(※) ← Hosted Agent 2 vCore 8GB RAM 10GB ストレージ ← Large Agent あり(プレビュー) Using larger runners - GitHub Docs なし ※ actions/runner-images: GitHub Actions runner images
  6. YAMLの基本構造としてはどちらも同じ 1. ジョブ起動定義 2. ジョブ内で使用する値 の定義など 3. ステージ(左にはない) 4. ジョブ(複数の手順の

    塊) 逐次書いていくと長くなるので、適宜リファクタリング必要 ※ 所定の手続きをまとめて外だしするテンプレートを使います
  7. Azure DevOpsにのみ存在する特徴的な機能 § プロジェクト計画からテストタスクまで一括管理するAzure Test Plans(有料) § 組織のAzure ADと連携したグループ管理 §

    Azureサブスクリプションを使った費用管理 § ビルド定義を外部レポジトリで管理可能 § プロジェクト状況可視化用ウィジェット § プロジェクト状況が確認しやすいクエリ(WIQL) / Board / Dashboard / Delivery Plans § Excelでタスク状況閲覧、一括更新が可能 § タスク進捗状況閲覧、パイプラインの承認するだけのStakeholderならライセンスがカウントさ れない
  8. Azure DevOps GitHub どちらでもいいのですが、あえて § Visual Studioサブスクリプションの 特典で統合管理したい § 非開発者向けの課金節約

    § Azureのセキュリティ機能が必要 § 複数のプロジェクトを横断で管理した い(Boardsだけ導入でも可) § ネットワークが近い場所で使いたい ヨーロッパ / インド / 南米 / アジア ※ 残念ながら日本はなし §解説記事などが非常に豊富なので、 困ったときの聞き先が多い §すでに個人使用で慣れている人が 多いチームで §Codespacesで開発環境をクラ ウドに持っていきたい §シンプルに完結しているので個人 オーナーの開発で