$30 off During Our Annual Pro Sale. View Details »

どっちを選ぶ?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. どっちを選ぶ? Azure DevOps と GitHub かめがわ かずし(kkamegawa)

  2. 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/
  3. This contents based on 2022/10/31

  4. 概要比較 – 無料でどこまで使える? 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人まで
  5. エンタープライズ向け – 主にオンプレミス 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契約がある場合無償
  6. GitHubとAzure DevOpsの構造の差 Organization 個人ID Team Project 個人 / Organizationに リポジトリが関連づく

    レポジトリが多くなると Organizationと Projectで管理必須 最初からProjectがあり、そ の配下にチケット、リポジトリ、 パイプラインを作成する
  7. GitHub 初期画面 自分の レポジトリ 直近の作業 参加チーム GitHubの 更新 おすすめアクティビティ

  8. GitHub Git Repository kkamegawa/bicepsamples: This repository samples for bicep (github.com)

  9. Azure DevOps 初期画面 自分の organization アサイン作業、 PR, お気に入りを 切り替え 上のタブで切り替えた

    内容表示
  10. Azure DevOpsのチーム初期画面

  11. 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
  12. YAMLの比較 Workflow syntax for GitHub Actions - GitHub Docs YAML

    schema reference | Microsoft Learn
  13. YAMLの基本構造としてはどちらも同じ 1. ジョブ起動定義 2. ジョブ内で使用する値 の定義など 3. ステージ(左にはない) 4. ジョブ(複数の手順の

    塊) 逐次書いていくと長くなるので、適宜リファクタリング必要 ※ 所定の手続きをまとめて外だしするテンプレートを使います
  14. GitHubにのみ存在する特徴的な機能 §Discussionとissueの分離 § 仕様の議論はDiscussion, バグはissueといった使い分けが可能(相互の変換もできる) §個人アカウントとEnterpriseでレポジトリの移行が可能 § 個人で作ってOrganizationへ移管(逆)ということも可能 §GraphQLサポート §GitHub

    Pages(有料)でレポジトリから静的Webを生成 §GitHub Sponsorshipでマネタイズも可能(かも) §クラウド開発環境のCodespaces(有料)
  15. Azure DevOpsにのみ存在する特徴的な機能 § プロジェクト計画からテストタスクまで一括管理するAzure Test Plans(有料) § 組織のAzure ADと連携したグループ管理 §

    Azureサブスクリプションを使った費用管理 § ビルド定義を外部レポジトリで管理可能 § プロジェクト状況可視化用ウィジェット § プロジェクト状況が確認しやすいクエリ(WIQL) / Board / Dashboard / Delivery Plans § Excelでタスク状況閲覧、一括更新が可能 § タスク進捗状況閲覧、パイプラインの承認するだけのStakeholderならライセンスがカウントさ れない
  16. GitHubの今後が知りたい! §正統進化的な機能改善はroadmapレポジトリで公開されてます §GitHub Universe(2022/11/9-10)では何が発表されるか? The GitHub Universe 2022 agenda is

    live | The GitHub Blog GitHub public roadmap
  17. Azure DevOpsの今後が知りたい! §今後の計画はAzure Boardsで公開されています §ほぼ三週間に一度のsprint 単位で機能追加 §大きな発表はBuild / Igniteでやっています Azure

    DevOps Roadmap | Microsoft Learn
  18. None
  19. Azure DevOps GitHub どちらでもいいのですが、あえて § Visual Studioサブスクリプションの 特典で統合管理したい § 非開発者向けの課金節約

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