今回ののGitHub Universeで発表したすべてのニュースについて、簡単な概要をお伝えします。また、今週発表する機能の今後のタイムラインについてもお知らせします。
なお、Universe 2020は開催後に随時オンデマンドでセッションをご覧いただけますので、見逃したかたはぜひチェックしてみてください。
GitHub Sponsors
- 企業によるGitHub Sponsors:企業が、PayPalまたはクレジットカード(支払方法は近日中にさらに追加予定)を使用して、オープンソースプロジェクトに資金援助することが可能になりました。多くのオープンソースプロジェクトが、商用を含む多くのソフトウェアで利用されています。その一方で、多くのオープンソースプロジェクトのメンテナーは、報酬無しでオープンソースプロジェクトを維持しています。今回、企業が任意のオープンソースプロジェクトに対して資金援助をすることを実現しました。これにより、オープンソースプロジェクトのメンテナーがより活動しやすくなります。
エンジニアのエクスペリエンス向上
- Dark Mode:本日より、設定で有効にできます。
- Pull Requestの自動マージ (#107):保護されたブランチの使用時に、リポジトリ設定で有効にできます。今後数週間でリリースされる予定です。
- GitHub Discussions (#104):すべてのパブリックリポジトリで使用可能になりました。Universeディスカッションでご確認いただくか、リポジトリ設定で本日より有効にできます。
- Dependencyのレビュー(#80):今後数週間でベータ版がロールアウトされます。Pull Requestで変更になった依存関係を確認し、セキュリティを継続的に確保します。
継続的なデリバリーのサポート
- 環境ごとの設定:各環境専用のシークレットやルールで、アプリケーション、パッケージ、またはWebサイトを保護します。
- GitHub Actionsでの必須レビューアー設定 (#99):より高度なコントロールが必要な環境へのデプロイメントについては、必須レビューアーを設定できます。
- ワークフローの視覚化(#88):グラフビューには、ライブログに加えて、Actionsワークフローの概要も表示されるようになりました。
GitHub Enterprise Server 3.0 RC1 – 12月16日リリース予定
- GitHub Actions(#89):CI/CDを含む開発ワークフローを自動化できるActionsを、オンプレミス版であるGitHub Enterprise Serverでも利用可能になります。
- GitHub Packages(#97):パッケージのホスティングがオンプレミス版であるGitHub Enterprise Serverでも利用可能になります。
- Code Scanning(#105):リポジトリにPushするたびにCodeQLによるセキュリティ分析を実行します。脆弱性の修正が必要な場合は、自動でPull Requestに表示します。
- GitHub for Mobileの対応(ベータ版) (#131):GitHub Enterprise ServerもGitHub for Mobileの対応します。
- Secret Scanning(ベータ版) (#57):リポジトリに誤ってコミットされたシークレットトークンを検出することができます。
GitHub Sponsorsを通じて企業がオープンソースに資金援助できるようになりました
昨年GitHubでは、個人ユーザーが頼りにしているオープンソース開発者を支援する仕組みとして、GitHub Sponsorsを発表しました。その結果、オープンソースのメンテナーやプロジェクトに数百万ドルもの資金援助が行われてきました。こうした資金援助は急増中です。その中には、GitHub Sponsorsを通じて数十万ドルもの収入を得た開発者もいるため、フルタイム業務としてコミュニティの支援に取り組むというビジョンを掲げる開発者も多くなってきています。
企業からも協力したいという声が寄せられています。多くの企業にとって、オープンソースはソフトウェアやサービスに必要不可欠なコンポーネントであるため、メンテナーをサポートすることで、これらのプロジェクトの継続的な発展を支えていきたいと考えているからです。しかし、多くの企業が個人に対して支払いを行うのは、業務における慣行上、困難が伴います。
そこで、GitHubでは、企業向けのGitHub Sponsorsの提供を開始することにしました。これによって、企業が日々使用しているオープンソース開発者やプロジェクトに対し、既存の料金プランを通して資金援助を行えるようになります。本日より、GitHubから請求されるという簡単なプロセスで、オープンソースに資金援助が可能になります。GitHub Sponsorsは、現在クレジットカードまたはPayPalでの支払いをサポートします。更新情報のウェイトリストにご登録いただくことで、新しい支払いオプションが提供された場合はお知らせします。
すでに以下のような数々のすばらしい企業が、GitHub Sponsorsを通じてオープンソースプロジェクトへの資金提供をすでに行っています:American Express、AWS、Daimler、Stripe、New Relic、Indeed、Microsoft、Substack、Major League Hacking、Indent、Notion、Cognitect
GitHub Sponsorsを利用してオープンソースプロジェクトを支援する方法は、こちらをご確認ください。
エンジニアのエクスペリエンス向上
Dark Mode
明るい画面が好きな方も、Dark ModeでMr. Robotになりきりたい方も、GitHubでは好きな方を選べます。設定からDark Mode(パブリックベータ)を有効にするか、システム設定をトラックするよう設定します。
Pull Requestの自動マージ
現在、Pull Requestの作成者は、すべての必須レビューとチェックに合格した時点でPull RequestをマージできるようにPull Requestを監視しなくてはなりません。つまり、レビューが行われると10回のうち9回は問題なく合格するにもかかわらず、次のタスクに移る前に待ち時間が発生することになります。
自動マージを使うと、Pull Requestが必須レビューやステータスチェックに合格した時点で自動的にマージさするように設定できるため、この問題を解決できます。マージにかかる時間を短縮できるので、一旦Pull Requestを送信したらすぐに次のタスクに移動できます。
自動マージは、来週以降、パブリックリポジトリ上のパブリックベータとして提供されるほか、TeamおよびGitHub Enterprise Cloudプランのプライベートリポジトリでも提供される予定です。
GitHub Discussions
Discussionsとは、コミュニティが一堂に会し、質問や回答、自由形式の会話を行える場です。カテゴリーのカスタマイズ、個別のディスカッションの移動や固定のほか、Issueをディスカッションに変換するといったコントロールを使用することで、会話スレッドを簡単に作成し、維持できます。
今年初めのDiscussionsの限定ベータ版の発表以来、GitHubはVercel、Gatsby、PrismaおよびLaravelといった数百ものオープンソースコミュニティと連携し、コミュニティにおいて最も重要な機能についてフィードバックを募ってきました。そのフィードバックをもとに新機能を多数追加しました。それらの機能には、作成されたディスカッションでカスタマイズが可能なカテゴリーや、GitHub通知との密接な統合が含まれています。
本日、Discussionsのベータ版をすべてのパブリックリポジトリに公開しました。Discussionsの使用開始方法はこちらをご覧ください。または、Universeに参加してDiscussionsを試し、今後の展開のプレビューを確認することもできます。また、まもなくGitHub for mobileにもDiscussionsを搭載する予定です。これによってどこからでも参加することが可能になります。
GitHub Actionsの新機能
Actionsの新機能として、各環境ごとの必須レビューアー、デプロイとデプロイログについて発表いたしました。また、ワークフローの維持、容易なトラブルシューティング、パイプラインのセキュリティとコンプライアンスを確保しながら継続的な提供を視覚化できるようになりました。
また、必須レビューアーを設定することで、デプロイしようとしているジョブは自動的に一時停止になり、レビューアーに通知されます。承認されるとジョブが実行され、環境のシークレットへのセキュリティ保護されたアクセス権が付与されます。環境には、デプロイメントログもあります。デプロイメントビューでは、 実行されているソースコードのバージョン、デプロイされた時期、デプロイの理由、および過去のバージョンを確認できます。
GitHub Actionsのワークフローの視覚化ではワークフローがマッピングされ、その進行状況をリアルタイムで追跡できるため、複雑なワークフローを容易に把握し、ワークフローのステータスをチームに周知することができます。ワークフローのメタデータを表示し、ソースコードに直接リンクすることや、デプロイメントURLによって、問題が発生しても簡単にトラブルシューティングできます。
今月末には、保護された環境と必須レビューアーのベータ版を、GitHub Enterprise Cloudのプライベートリポジトリと、GitHub.comのすべてのパブリックリポジトリで提供する予定です。ワークフローの視覚化、デプロイメント、およびデプロイメントログは、GitHub.comの全ユーザー向けにパブリックベータとして利用できるようになります。
Dependency(依存関係)のレビュー
本日のリリースより、Dependencyグラフの依存関係がわかりやすくなります。また、セキュリティアラートにより、依存関係において新たに特定された脆弱性についての通知を受信できるようになります。新しい依存関係や、更新された依存関係に脆弱なコードが組み込まれる前に、このようなアラートを受信できるようになります。
依存関係のレビューにより、レビューアーやコントリビュータが、すべてのPull Requestでの依存関係の変化やセキュリティへの影響を把握できるようになります。Pull Requestによって発生した依存関係の変化は、[Files Changed]タブで、詳細のdiffを使用したレビューエクスペリエンスによって簡単に確認できます。依存関係のレビューでは、追加、削除、または更新された依存関係のほかにも、リリース日や、これらのコンポーネントを使用するプロジェクト数、およびこれらの依存関係の脆弱性に関する情報を把握できます。
本日より、Dependencyレビューのベータ版の提供を、GitHub Enterprise Cloudのすべてのパブリックリポジトリと、GitHub Advanced Securityのお客様向けに開始します。今後、数週間かけてGitHub.comの全ユーザー向けに段階的にロールアウトしていきます。
GitHub Enterprise Server 3.0
企業のお客様向けに、GitHub Enterprise Server 3.0のリリース候補(RC)を12月16日に出荷する予定です。3.0では、GitHub ActionsおよびPackagesを利用してCI/CDおよび自動化機能を組み込むことができます。さらに、Enterprise Serverのお客様は、Code ScanningやSecret ScanningなどのAdvanced Securityに含まれる機能を、サーバー導入の一環としてワークフローで自動化できるようになります。さらに、GitHub Enterprise Server 3.0ではGitHub for mobileもサポートされるので、GitHub Enterprise Serverインスタンスを使用する開発者は、カフェでも通勤電車の中でも、あるいは自分のデスク以外の場所など、どこからでも好きな方法で作業を行えるようになります。
GitHubは、過去2年間にわたり、パブリックリポジトリへのすべてのPushでシークレット(APIキーなど)をスキャンしてきました。今年のGitHub Satelliteでは、プライベートリポジトリ向けのSecret Scanningを発表しました。それ以来、GitHub Advanced Securityユーザーは5万個以上ものプライベートリポジトリでSecret Scanningを有効にしてきました。現在、プライベートgitへのPushのスキャン数は、毎週200万回を超えています。本日より、GitHub Enterprise Server 3.0向けのSecret Scanningのベータ版の提供を開始します。これを使用すると、コードベース内のハードコードされた認証情報をスキャンすることが可能になります。
GitHubユーザーは、自分のリポジトリでCode Scanningを有効にし、セキュリティの脆弱性を特定し、保護することができます。今年9月には、GitHub.com上でCode Scanningの提供を開始しました。それ以来、Code Scanningを使用するリポジトリ数は2倍以上に増えています。本日、GitHub Enterprise Server向けのCode ScanningのG一般提供を開始しました。
Secret ScanningとCode ScanningはどちらもGitHub Enterprise Serverのお客様向けのGitHub Advanced Securityに含まれる機能です。
機能以外にも新しくなったもの
GitHub.comのトップページWebサイトが新しいデザインに生まれ変わりました!GitHub.com/homを開いてみてください。地球儀の上を移動するピンクのラインが見えますか?これは、今この瞬間に開かれているPull Requestのデータを表しています。世界中のエンジニアが、今、この瞬間にイノベーションを起こしているのです。