レポート

「GitHub Enterprise Virtual Roadshow Japan」レポート

この記事を読むのに必要な時間:およそ 4 分

8月5日,GitHubによるバーチャルカンファレンスGitHub Enterprise Virtual Roadshow Japanが開催されました。これは,グローバルなバーチャルカンファレンスGitHub Satellite 2020が5月に開催されたことを受けて,開催する運びとなったものです。

今回のイベントはGoToWebinarを使って中継され,200名を超える参加者がいたようです。本稿ではその内容をレポートします。なお,GitHub社のセッションは録画が公開されています。詳しくはこちらをご覧ください。

「ご挨拶」

はじめに,GitHub リジョナルセールス・ディレクターの山銅章太氏は,GitHubのここ一年の大きな話題を紹介しました。

GitHubが今年4月に5,000万ユーザーに到達したこと同じく4月にnpmを買収したこと昨年GitHub Actionsを正式リリースしてMarketplaceにはインテグレーションのための様々なActionがあること,今年3月にGitHub for Mobileを正式リリースしたことそして4月にGitHubのコア機能が無料になったことを取り上げました。山銅氏は「詳しくはGitHubのブログを見てほしい」と案内していました。

画像

「新機能の紹介」

GitHub シニア・ソリューションズ・エンジニアの田中裕一氏は,新機能としてGitHub Discussions, GitHub Codespaces, GitHub Advanced Security, GitHub Private Instancesを紹介しました。

なおセッション中に,GitHub DiscussionsでQ&Aを受け付けました。回答担当者がセッション中にDiscussions上で回答したり,田中氏が発表後にQ&Aを拾って回答しました。その際,先日公開されたGitHub製品の今後の機能追加に関する情報が四半期ごとに分かるGitHub public roadmapについても紹介していました。

GitHub Discussions

コードとコミュニティについてのオープンな議論の場として,Discussionsが新しく開発されました(現在,限定パブリックベータ⁠⁠。Issueよりも曖昧度の高いQ&Aに最適とし,またそのリポジトリのコードが使われている事例を集めるのに使うのも良さそうとのことです。Discussionsが使われている例として,next.jsのDiscussionsを挙げていました。

画像

GitHub Codespaces

GitHub.comにおいて,ブラウザ上でVisual Studio Codeを動かしてリポジトリのソースコードを編集したりGitを操作できりするCodespacesも開発されています(現在,限定パブリックベータ⁠⁠。Codespacesを実行すると,ブラウザ上でVisual Studio Codeが使えるようにするためのコンテナのビルドが走ります。その際,コンテナ内にリポジトリのコードがクローンされてきて,依存関係やツール類もセットアップもされます。またポートフォワーディングすることで,ブラウザからコードを実行したページにアクセスできます。そして,このコンテナの設定は,リポジトリの/.devcontainer/devcontainer.jsonに記述されることを紹介しました。

画像

Codespacesを使えば,プルリクエスト,コミットのプッシュを行うのに,Gitの設定やGitHubへのネットワークの設定を改めてする必要がないため,環境構築につまづかなくなるのが良い点だと指摘しました。セッションでは,Node.jsで作られた計算機アプリの背景色を変えるプルリクエストを作ってマージし,実際にブラウザの画面上で変わったことを示しました。

画像

なおQ&Aでは,CodespacesのエディタとしてVimを使いたいといった声がありましたが,それに対して「たしかにいまは使えない。けれども現在のCodespacesはGitHubを使う障壁を下げたいというのが目的。別の形で別途検討はしている」とコメントしていました。

GitHub Advanced Security

GitHubでは,コードの脆弱性を確認できる機能も提供しています。

シークレットスキャニング

外部サービスと通信するための認証用トークンや秘密鍵の情報(シークレット)がGitHubにプッシュしたコードにまぎれこんでいないかを検出できる機能が「シークレットスキャニング」です(gitヒストリも検査でき,誤検知を除外する設定も可能⁠⁠。これまではパブリックリポジトリのみが対象で,すでに1,000万以上使われているそうです。

このシークレットスキャニングが,プライベートリポジトリも対象になりました(現在,限定パブリックベータ⁠⁠。パブリックリポジトリの場合はトークンの種類によってそれぞれのベンダに連絡されていましたが,プライベートリポジトリの場合はベンダに送るわけにはいかないため,GitHubが判断してアラートをリスト表示します。GitHubが判断するため完全に正しいとは限らず,アラートをクローズできるようにもなっているとのことです。

コードスキャニング

ソースコード解析エンジンCodeQLによるコードの脆弱性を検出できる「コードスキャニング」が開発されています(現在,限定パブリックベータ⁠⁠。日々新しい脆弱性が出てきていますが,セキュリティリサーチャーやカスタマーによって作られるCodeQLのクエリをパブリックリポジトリで管理し,このクエリを使ってコードの脆弱性を検査します。これはGitHubらしいアプローチであると言及していました。なお,パブリックリポジトリにクエリを登録せずに,カスタムクエリ的にCodeQLを書くことも可能です。また他の静的解析ツールによる拡張も可能とのことです(現在ShiftLeft,Anchoreと連携可能⁠⁠。

CodeQLを適用していれば,プルリクエストを作った時点で検査され,その検査結果がプルリクエストのページで表示されるようになります。脆弱性が検知された場合にはマージを禁止する設定も可能だということです。セッションでは,プルリクエスト時にクロスサイトスクリプティングのアラートが検知される事例と,GitHub Actionsでコードスキャニングの設定方法を紹介しました。

画像

なお,シークレットスキャニングとコードスキャニングはGitHub Enterprise Serverでの対応も今後予定されていて,パブリックロードマップで確認できます。GitHub Enterpriseのプライベートリポジトリでセキュリティスキャンを行うにはAdbanced Secrityのアドオン(追加ライセンス)が必要とのことです。

Actions/Packages on Enterprise Server

GitHub Enterprise ServerにおけるGitHub ActionsとGitHub Packagesは現在,プライベートアルファの段階で,年末にはリリースされそうです。その際,マネジメントコンソールでのメトリクスのトラッキング,監査ログが追加されるとのことです。

GitHub Private Instances

GitHubのサービスを享受するのにGitHub.com, GitHub Enterprise Server/Cloudが選択肢としてありますが,第3の選択支として,フルマネージド,シングルテナントなクラウドサービスであるGitub Private Instancesを今年後半にベータリリース予定であることを紹介しました(価格はまだ未定⁠⁠。Gitub Private Instancesでは,BYOK(Bring Your Own Key⁠⁠/保存データの暗号化/データ保存場所の選択,IdP連携/プライベート接続のサポートなどが可能だということです。

GitHub Private Instancesでのアカウントは独立したものになるため,GitHub Enterprise Serverと同じように想定できると説明がありました。GitHub ActionsやGitHub Packagesとの連携も,GitHub Enterprise Serverと同じイメージだということです。つまりサードパーティのものを使いたい場合にはGitHub Connectを有効化する必要があるため,それを許容するかどうか,インスタンスのポリシーによると述べていました。

なお,既存のGitHub Enterprise ServerからGitHub Private Instancesへの移行ツールは,GitHub Private Instancesのリリースと並行して開発中とのことです。

著者プロフィール

高橋和道

gihyo.jp編集部 所属。最近では電子書籍の制作にも関わる。

URL:https://twitter.com/k_taka

バックナンバー

2020年

  • 「GitHub Enterprise Virtual Roadshow Japan」レポート

バックナンバー一覧