kkamegawa's weblog

Visual Studio,TFS,ALM,VSTS,DevOps関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

GitHub Copilotを試してみる

copilot.github.com

サインアップしたのが通ったので軽く動かしてみました。


www.youtube.com

どうせだから使ったことない言語というか、現在のCopilotがうまくサジェストしてくれると書いているJavaScript, Go, Pythonいずれも得意ではないのですけど、今回はGoでやってみました。

コメントを書き始めるとCopilotが候補をサジェストしてくれます。薄い文字がサジェストされている文章で、Tabを押したらそのまま受け入れることになります。

コメントを書かなくても関数名に具体的な処理を表す名前、例えばdevide_by_valueみたいな名前にすると、意図通りの処理が自動生成されています。

動画では英語で書いていますが、試したらコメントや関数名に日本語使ってもちゃんと解釈してくれるのはびっくりです。

実際、これが実用になるかというとどうなんだろうとは思います。ただ、ちょっとしたコードを作るとか初めての言語で過去使っていた言語と同じ処理を書く場合とかの練習には便利だと思います。

あと、テストコードとかである程度同じようなコードになるのでそういうコードの生産にも便利かもしれないですね。

このご時世なので、対面でペアプロは難しいのですが、代わりにこういうサービスがサジェストしてくれると便利そうですね。

GitHub issue(beta)試してみた

github.blog

新しいGitHub issueベータ版が公開されたので、waiting list申請したら通ったので、軽く使ってみました。GitHub issueも使いますが、ほとんど自分のタスク管理というか、個人リポジトリのToDoみたいな使い方です。あと、オープンソースプロジェクトで問題があったらissueを調べまくるくらいでしょうか。

issueとなっていますが、実際はProjectの新しいやつという感じです。

f:id:kkamegawa:20210630154757p:plain

New Projectの隣にall-new projectsがあるので、こちらから作っていきます。

f:id:kkamegawa:20210630154802p:plain

ProjectsのBetaが出ているのでこちらから作っていきます。作るのはProjectsと変わりません。既存のProjectsとは別管理になるようで、今Projectsに追加しているissueがあっても改めて追加し直します。

f:id:kkamegawa:20210630154808p:plain

明示的にBetaとついている方を選択します。

f:id:kkamegawa:20210630154812p:plain

名前も変更しておきます。ちょっと誤ってDanger ZoneClose this projectが保存かと思ってクリックしそうになりました。ちょっと間違えやすいので、ここは正式版までには変わったほうがいいじゃないかな。

f:id:kkamegawa:20210630154818p:plain

列は歯車アイコンのところから自由に追加できます。今までのProjectはあらかじめ用意されていたstatusに応じて自動移動するパターン、完全に自分で構築するパターンと両極端でしたが、新しいやつではビューを定義する形で一度登録したissueをいろんなビューで見えるようになります。それは上のタブで切り替えます。

f:id:kkamegawa:20210630195048p:plain

View1の隣にある▼をクリックすると、ビューの名前の変更、複製といったことができます。

f:id:kkamegawa:20210630204224p:plain

同じissueに対して複数のビューを作って、色々な視点で見えるようです。

f:id:kkamegawa:20210630195042p:plain

追加する列はテキスト、数値、日付、選択肢と選べますね。自分で入れてもいいのですが、これは他のシステムと連携して作成した列に対してAPIで連携システムのデータを入れられるともっと面白い使い方ができそうです。

デモの動画ではAzure DevOpsのBoardsにあるAreaを定義して該当Areaのissueだけ抽出するということが簡単にできますね。ここでは紹介していませんが、従来のようなstatusでのカンバン表示にも簡単に切り替えられます。

最初なのでできるのかもしれないですが、個人単位で参照したいissueを手動で登録していくのはちょっと辛いので、特定のタグが付いたissueを自動的に登録するとか、open状態のissueが自動的に反映されるとかそういう仕組みが欲しいなと思いました。

今までのGitHub issueで管理できる場合はそれでもいいのですが、やはりissueが多くなるとこういうものを使わないときついので、これからの強化に期待です。

Azure DevOps 2021/6/17の更新

Azure DevOps Sprint 188のリリースノートの翻訳を行いました。オリジナルはこちらから読んでください。

docs.microsoft.com

PATのポリシーをAzure AD側で設定できるのはいいですね。もちろんAzure ADベースで動いている必要がありますがMSアカウントベースのやつはまぁいいでしょう。大規模にもならないし。

条件付きアクセスポリシーでIPv6サポートもうれしいですね。最近はv6プラスが使える環境も多いと思います。IPv4だけだと思っていたら実はIPv6使っていて、条件付きアクセスポリシーにかかってなかったとかないように。

ClassicリリースとマルチステージのYAMLではまだ若干の機能差があるのですが、その一つリリースに使ったビルド成果物を自動的に保持する機能がYAMLにはありませんでした。今回、YAMLのパイプラインをresourcesに定義することでそのギャップが埋まることになります。

docs.microsoft.com

Multi-Stageとはいえ、セキュリティやガバナンスを考慮すると一つのYAMLでビルドとリリースをやるのは正直お勧めしづらいので、リリースパイプラインはリソースにして分割していたほうがいいんじゃないかなとは思っています。

今まで必ずEnvironmentsを作ってからパイプラインで参照していたので全然気づかなかったのですが、YAMLパイプラインから作成してしまえばだれでもEnvironmentsの定義ってできたんですね。基本的にビルド定義のmasterマージとともにBuild Administratorが作るものだと思っていましたが、さすがにそれはちょっと…ということで制限が入ることになりました。いいことだと思います。

TFVC用のShell Extensionは長い間Visual Studio 2019に対応していなかったのですが、VS2022がリリースされた末期になってやっと対応版がリリースされました。長かったなーGitが主流になってきているとはいえ、業務で使うような巨大なレポジトリはTFVCの方が便利というケースもあるので、そういう人にはいいですね。

最近ガバナンス関係の強化が多いなぁと思いますが、これはこれで助かることが多いのでいいのではないでしょうか。

ではまた三週間後。

Translate to Japanese to Azure DevOps release not…

QNAP TS-453Dを買った

はじめに

サーバーの一台が不調でリプレースしようかと思っていたのですが、もうNASでもいいかなというところでいろいろ調べました。SynologyかQNAPのIntel CPUのモデルにすることは決めていたのですが、どちらにしようかと悩んでTwitterでアンケートとったらまさかの同数という😅。知人ではSynologyが若干多いようでしたが、QNAPにしました。

QNAPの価格割と毎日ウォッチしていたのですが、Amazonではすごく変化して面白かったです。一番高い時で67000円で、最安値で60000円ちょっとくらい。在庫が減ると値上がりして、残り10個切ったくらいから露骨に上下していました。ヨドバシで買おうかなと思っていたのですが、在庫ないんですよね…ヨドバシがんばれ。

www.qnap.com

  1. Active DirectoryのDCができること
  2. AD対応のDNSが使えること
  3. ある程度継続してファームウェア更新があること
  4. クラウドサービスと連携できること
  5. macOSのTimeMachine対応

まぁこの時点でほぼQNAPかSynologyの二社に限られちゃいますね。2ベイか4ベイにしようか迷ったのですが、結局4ベイにして3ベイだけ埋めています。同時購入できるのが3本までだったのもあるのですが。世間ではメモリ16GBにしている人も多いようですが、そこまでいろんなもの動かす気はないので、保証されている8GBまでにしました。

今ローカルでドメインコントローラを2台VMで動かしていますが、このうち古い(2012R2)ものを廃止、代わりにTS-453Dを追加のドメインコントローラにしています。DHCPとDNSはもともとYAMAHAのRTX830で動かしていました。

この前不調だったDCを廃棄していろいろエラーを修正したので、さすがにもう問題なくなりました。Azure Backupと連携できないのは残念ですが、Blobへのコピーはできるので設定しています。

macOSとの連携

macOSのTimemachineってSMB3でアクセスしてるんですね。AppleTalkじゃないとダメなのかと思ってました(割とマジ)。今は割とバックアップなくてもいいのですが、それでもあるとやっぱり安心です。

ファイルアクセスも問題ないので、ファイルの受け渡し楽になります。とはいえほとんどOneDrive経由の受け渡しなのですが。家庭内でも太平洋超えて受け渡し😅(コンシューマー版)。

管理面

レビュー見るとうるさいという話はありましたが、ほとんどHDDのアクセスでしょうね。不快な音ではないので、おいているところの差もあるでしょう。

サーバーごとの管理は専用のWebからですが、複数のQNAPを管理するためのツールもついてきます。起動するたびにSMTPの設定しろとうるさくて、パスワード入れるのやだなーと思っていたのですが、今時のNASはちゃんとOAuthで認可するんですね。GMailやOutlook(BusinessもどちらもOK)はパスワード指定することなく設定できて非常に楽でした。

あ、SMTPリレーできるのかな。できたら助かるんだけど。Docker使ってsmtp建てるのもいいけどなーうーん。

qnapcloudというサービスを使えば自宅外からアクセスできるような設定もできるようですが、正直現在ではほとんど意味ないかなと思っていて、当面設定するつもりはないかな。

2.5Gbpsサポートしているし、サーバーも一台対応しているし、今後のPCも対応していそうなので2.5Gbpsのハブへリプレースしようかな。発熱と消費電力次第ですけど。

消費電力もサーバーとはだいぶ違うのでこれから部屋の暑さが少し和らぎそうです。