kkamegawa's weblog

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

Azure DevOps 2019/10/14の更新

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

docs.microsoft.com

BoardsとRepos用のTeamsアプリいいですね。TeamsでもSlackでも同じようにアプリで提供されるといろいろ助かります。

CSVファイルから作業項目をインポートできるのはExcelに依存しなくなるので、便利ですね。JSONにするのかとおもっていましたが…。.NET client libraryに依存しているので、Windows以外では使えなかったのですが、macOSやLinuxでも使えるようになるので、今後はこちらでしょうか。スキーマレスなので、ちょっと厳しいかなと思いますが。

docs.microsoft.com

レビュー済みのファイルにマークが入れられる機能も多くのファイルがPRに含まれるときは便利そうです。これは個人単位のマークなので、全体には影響しないので、あくまでもレビュワー単位の機能になります。

ARMテンプレートで異なるリージョンやリソースグループへの展開できるようになったのもいいですね。といってもARMテンプレート結構きついですが…。

複数Wikiを束ねて検索できるのも便利です。セキュリティの都合でOrganizationを分割していることもあると思いますが、Wikiは共通で参照させたいといことはありますので、そういう時は便利そうです。

ではまた三週間後。

Translate to Japanese to Azure DevOps release note ...

Botを使ってAzure DevOpsのリージョンを変更する

Azure DevOpsは世界の各地域で展開されており、Organization作成時のIPアドレスに基づいて自動決定されます(明示的に選ぶこともできます)。

昔はUSにしかなかったのですが、今は世界の大体の大陸が選択可能です。で、この昔作ったOrganizationはUSにしかなかったので、地理的に近いリージョンに持ってきたいという要望ももちろんあります。

以前は無料のBasicサポートを使って英語で移行を依頼するしかなかったのですが、今はBotでできるようになっています。簡単ですが、やり方を紹介します。

f:id:kkamegawa:20191022151909p:plain

上記のAzure DevOps Virtual Support Agentをクリックすると、Botのページに遷移します。

aka.ms

URLとしてはこちらですね。

f:id:kkamegawa:20191022151921p:plain

リージョン変更以外にもサポートチケットの発行ができるようです。

f:id:kkamegawa:20191022151913p:plain

Change Organization Regionを選択して、Click me to Sign inをクリックします。

f:id:kkamegawa:20191022151933p:plain

サインインするとき、別のタブでこんな風なランダムな数字が表示されます。それをBotの会話に入れると、サインインします。

f:id:kkamegawa:20191022151927p:plain

移動したいOrganizationのOwnerのアカウントでサインインするとき、Botに権限を与えます。User Profileの読み取りと、IDとグループの読み取り権限を与えます。不要になったらプロファイルページで取り消せばいいです。

f:id:kkamegawa:20191022151937p:plain

移動したいOrganizationを選択します。

f:id:kkamegawa:20191022151942p:plain

移動先のRegionと、移動作業していい日、コンタクト先のメールアドレスを選択します。日本リージョンには提供されていないので、一番近いEast Asiaを選択します。

f:id:kkamegawa:20191022151949p:plain

問題がなければYesをクリックしてください。日付などを変えたければI want to change somethingをクリックすればいいはずです。

f:id:kkamegawa:20191022151953p:plain

完了すればreference IDが出てくるので、何か問題あればこの番号を添えてサポートに依頼することになります。

英語のBotとはいえ、インタラクティブにできるのでとても便利になりました。あとは早く日本リージョンに来てほしいですね。

(2019/11/5追記)
週末の一日で移行してよ!ってスケジュールで依頼してましたが、2回失敗して(その都度メールが来ます)、3回目に11/1-5の間でやって!というリクエストでようやく成功してEast Asiaに引っ越しできました。移行スケジュールは少なくとも2-3日くらい見ておいたほうがいいようです。

失敗しても、再度チャットにログインすれば前回の状態を引き継いでいるので、移行予定日付を選択するだけです。もちろんスケジュールがとれないときはやめてもいいです。

Azure DevOps 2019/9/23の更新

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

Sprint 158のロールアウトは結構早く行われていたようで、2-3週間と書かれていますが、もうすでに全部のorganizationに展開されているはずです。

docs.microsoft.com

課金周りがまたまた変更になってますね。デフォルトアクセスレベルの設定で、意図せずお金がかかるという現象が回避できるようになります。

今まで使いにくいといわれていた、権限の話ですが、ユーザー単位でPJへの権限が見えるようになりました。もうちょっとがんばれ。

作業項目のフィールドをユーザーによって隠せるってのは面白いですね。確かにstakeholderには見なくていいものとか多いはずです。

emailのブロックポリシーもいい感じです。普段のアカウントとは違うアカウントでpushしないといけない場合とか、意図しないコミットログが防げるようになります。報告元のチケットはまだオープンになっているので、もっとこんなのがほしい場合、コメントに書けばいいようです。

Multi-stageビルドでリトライ、承認の改善もいいですね。YAMLベースの改善がすごいスピードで進んでいますが、やっぱりやらないといけない感じですね。

WikiのURLが読みやすくなったのも助かります。

ではまた三週間後。

Translate to Japanese to Azure DevOps release note ...

Azure DevOps Server 2019の消費メモリ

(9/20ちょっと修正)

Azure DevOps Server 2019のシステム要件にはこう書かれています。

docs.microsoft.com

A single-server deployment consists of a single machine with one dual-core processor, 4 GB of RAM, and a fast hard-disk drive. This configuration typically supports up to 250 users of core source control (Team Foundation Version Control or Git) and work item tracking functionality. Extensive use of automated build, test, or release likely will cause performance issues. We don't recommend use of search or reporting features for this configuration.

When you scale up a single server, the server can handle a larger number of users and an increased use of automated build, test, or release. A scaled-up server can also use search or reporting features. For example, increasing RAM to 8 GB should enable a single-server deployment to scale up to 500 users.

For evaluation or personal use, you can use a basic configuration with as little as 1 GB of RAM. This configuration isn't recommended for a production server that's used by more than one person.

シングルサーバー4GB RAMだとバージョン管理と作業項目管理ができるけど、ビルドにはちょっと厳しい。8GB RAMあれば500ユーザーが使えるだろう、みたいな感じ。

ところがですね、今実際に私の評価環境の使用メモリはこんな感じです(Windows Server 2016 + SQL Server 2017 + Azure DevOps Server 2019 update1)。

f:id:kkamegawa:20190919065438p:plain

Common Daemon Service RunnerはElastic Search(コード、作業項目検索)です。IIS Worker ProcessはIISフロント。450MBくらいですが、これはまだ未アクセスだからです。Webへアクセスするといきなり1-2GBくらいになります。メモリが少ない場合、Elastic Searchのメモリが解放されます。

f:id:kkamegawa:20190919065443p:plain

SQL Serverは明示的に最大使用メモリを4GBまでに絞っています。何も設定しないと、デフォルトでメモリをあればあるだけ使います。

docs.microsoft.com

TfsJobAgentはバックグラウンドで動いているジョブコントローラーって言っていいのかな?そんな感じです。メンテナンス ジョブを実行しているサービスだそうです(おしえてもらいました。ありがとうございます)。

特に近年のバージョンアップでElastic SearchとTfJobAgentがものすごく使うようになって(W3WP.exeもアクセスすればもちろん増えます)、さすがに8GB RAMではインストーラーの評価程度でしょうか。コード検索も最初はいいけど、たぶん無理ですね。

すくなくともSQL Server 4GB, ESで4GB, TfJobAgentで2-3GBくらい、IIS Worker Processで2GB程度は使うので、16GBくらいの環境じゃないとスタートは厳しいかなと思います。プロダクション環境で本気で考えるならWeb + ES + DBを別サーバー構成ですね。

ESが入ったTFS 2017くらいから結構消費量が多くなってきたように記憶しています。