YouTubeライブの承認が下りて、テストもして大丈夫だと思ったら、一緒にしゃべっている松村さんの音声が入っていなかったというね…すいません。
我々はTeamsでしゃべっていて、そちらの録画ではもちろん問題なかったので、Teamsの録画を編集して完全版としてこちらに公開しています。
もうすぐ .NET 5正式版公開ですね。RC2をネタに二人でしゃべっています。足利さんは体調不良ということでお休みでした。お大事に。
YouTubeライブの承認が下りて、テストもして大丈夫だと思ったら、一緒にしゃべっている松村さんの音声が入っていなかったというね…すいません。
我々はTeamsでしゃべっていて、そちらの録画ではもちろん問題なかったので、Teamsの録画を編集して完全版としてこちらに公開しています。
もうすぐ .NET 5正式版公開ですね。RC2をネタに二人でしゃべっています。足利さんは体調不良ということでお休みでした。お大事に。
GitHub Codespaces for Visual Studio Codeは多く使われていると思いますが、Visual Studio版もEarly Accessが開始されています。申し込んでいたのですが、ようやく順番が回ってきたので、試してみました。Visual Studo Code版はブラウザーだけで使えることが売りですが、Visual Studio版はローカルにVisual Studioのインストールが必須です。
VS2019 Preview(16.8 Preview)を起動するときにコードスペースに接続という項目があります。これを使うのは、環境
のプレビュー機能
のGitHub Codespacesに接続する
をチェックしておきます。
Codespaces以外にも多くのプレビューがあるので、チェックするといいでしょう。
コードスペースに接続
をクリックすると、このような画面になります。GitHubにサインイン
をクリックすると、認証画面が表示されます。
これだけの権限を使いますという表示が出ます。Authorize GitHub
をクリックして承認します。このときパスワードは聞かれますが、多要素認証していてもコード入れさせられないんですね。
認可完了後、接続するレポジトリー、インスタンスの種類、アイドルタイムアウト(最大2時間)の設定ができます。
インスタンスタイプは4core/8GB RAM, 8core/16GB RAMのどちらかのようです。これ多分Windowsコンテナーなんでしょうかね。サーバーでのフォルダーはc:\workspaces\
配下に該当のレポジトリー名を新規フォルダーで作っているようです。
リモートなので、最初にgitのメールアドレスと名前を登録します。多分ずっと保持されるとは思います…多分(まだ再起動してない)。
作ったとき思ったのですが、VS code版に比べて最初に作るのがだいぶ早いような?接続されると、タイトルバーのところでリモートであることがわかります。
それ以外は全く変わらないようで、ぱっと見わからないですね。
デバッグ実行もできます。通信しているというようなストレスもあまり感じないですね。LiveShare的な通信しているのでしょうか。ローカルとあまり変わらないです。
右クリックメニューに関してはだいぶ違いますね。すっかり簡素ですし、拡張機能の類は使えないようです。
リモートで動いているので、デバッグのプロセスIDはローカルに存在していません。デバッグコンソールもローカルに出ていないので、GUIアプリのデバッグや特権が必要なアプリの開発はちょっと厳しいですね。
中がどうなっているか(多分コンテナーなのでしょうけど)わからないですが、今後としては、せめてリモートデスクトップでデバッグ中のGUIをクライアントに飛ばすってのは欲しいところですね。
ぱっと見、Codespacesが実行されているサーバーのコンソールにアクセスする方法やWinodwsフォルダーをみる方法は見つからなかったけど、何か見つけたら報告してみたい。
実行するサーバーが4core/8GB RAM, 8core/16GB RAMとなかなかリッチ(Aインスタンスかな?)なので、正式版になった後の料金が気になるところです。セルフホスト版もあるといいなぁ。
業務で使う場合は、GitHubのPersonal Access Tokenをどう扱うかは気を付ける必要があります。Libraryに保存しちゃうと意図しないPipelineで使われてしまうリスクがあるので、どうすると良いですかね?
という疑問が末尾に書かれていたので、どうするのがいいか考えてみましょう。まず、大前提として、GitHubのPATをLibraryに格納する場合、GitHubのPATにアクセスできる人だけをAdministratorにしておきます。
PAT単位にセキュリティを設定する場合はPATを作ったユーザーのみadministratorにします。デフォルトはLibraryからの継承なので、都合が悪い場合は継承を切ってください。ただし、Build Serviceアカウントを削除してしまうとビルドエージェントがLibraryを参照できなくなるので気を付けてください。
Libraryのセキュリティでも設定できます。通常はLibraryを管理するユーザーを決めておきましょう。Build AdministratorかProject Administratorのみ管理者なので大体大丈夫のはずです。
記事内で心配されていた「知らないpipelineに使われる」というのはservice connectionの権限で防ぎます。https://dev.azure.com/{organization}/{project}/_settings/adminservices
画面でGitHubのへの接続を作っています。
Approvers and Checks
はEnvironmentと同じ設定ができます。典型的にはBusiness Hourだけ使えるようにするとかそういった制御ができます。
下のSecurity
をクリックすると、画面の真ん中にPipeline permission
があるので、そこでGitHubへの接続を使えるパイプラインを明示的に指定します。
これで仮にLibraryの値を意図しないパイプラインで参照されたとしても、GitHubへのアクセスができなくなります。
いちいちプロジェクトごとにそんな設定するのめんどいなぁ、という場合、その下にあるProject Permission
からこのservice connectionが使用可能なプロジェクトを指定します。
ここで指定されたプロジェクトはこのGitHubへの接続が使用可能になります。大きなプロジェクトではチームプロジェクト単位でservice connectionを作るのではなく、特定のプロジェクトに集中させて、ほかではこういった外部接続を使わないようにすれば集中管理が可能になります。
松村さんと「もうちょっとゆるいイベントやりたいねぇ」ということで、MicrosoftのVisual Studioブログをネタにして夜のラジオみたいな感じで適当にしゃべる番組しようか?ということでノリではじめてみました。
第一回はAzure DevOps拡張機能についてです。あまり使っている人の話聞かないので、こんなのあるよーという紹介編ですね。よかったら動画もみてください。
今のところ第二第四金曜日(この前は土曜でしたけど)の22時から一時間くらいでやろうかな、と思っています。YouTube Liveで放送するつもりがどうしてもライブ申請が通らなくて困っています…なんでだ。おかげで急遽Teamsにしたけど、設定間違えてコメント付けられない状態になってるわ、えらいご迷惑をおかけいたしました。次回までにはYouTubeライブの申請が通るといいなぁ。
(追記)
今見たらライブの申請通ってました。次回は練習してほんとにYouTubeライブでやります。
単発でしゃべってみたい人、こんな記事ネタでしゃべってほしいなどがありましたらこの動画の登場人物の誰かにコンタクトをお願いしますというか、こちらからお願いするかもしれません。特にX-Plat関係や最新のクライアントに強い人いないので😅。
よかったら高評価もお願いします。