kkamegawa's weblog

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

今どきのAzure Stack on Azureの作り方

諸事情あって、Azure上にAzure Stackを作っています。検索すれば上のほうにでてくる世界のやまさのエントリーがあるのですが、私がこれをやってもDSCを構築するところで失敗しました。検索しても事例がいくつかあるものの、ASDKはサポート外なので、MSDN Forumで知ってる人の答えをもらうしかないようです。

blog.nnasaki.com

書かれていないものの、今までやってた方はAzure ADでやっていたのでしょうか?私はサブスクリプションの都合でADFSで構築しています(Azure ADだと構築時一時的に全体管理者が必要になるため)。

困ったなーと思っていたら、今どきはこんなARMテンプレートを用意してくれている人がいました。プロフィールを見ると、MSトルコのSeniorプレミアフィールドエンジニアの方のようです。

github.com

このテンプレートでデプロイするとManaged DiskをPremium SSDで構築してくれます。評価環境ならforkしてStandard SSDに書き換えたほうがいいでしょう。お金があるなら別ですが。

デプロイすると、デスクトップにPowerShellのアイコンが4つできているはずです。Install Azure ADかInstall ADFSかどちらかクリックするとデプロイが始まります。

1時間ちょっとすると、たぶん再起動がかかります。ここから先はCloudAdminアカウントで接続するのは同じですね。あとはひたすら待ちます。E16インスタンスでは4時間かかっても終わりませんでした。放置しているので、そのうちできるでしょう、たぶん。

github.com

もしくはこちらのスクリプトでASDK環境を構築できるそうです。ただし、ASDK 1811.2限定。こちらはAzure StackのGlobal Black Beltの方ですね。

ASDKを作った後の最大のやっちゃいけないことは、ホストOSでシャットダウン、再起動などを実施してしまうことです。ASDK内では複数のVMが起動していて、お互い依存しています。なので、最悪起動中のVMが不整合に陥り、起動しなくなります(というか、知らない人がやってしまいました)。

シャットダウンは必ず特権エンドポイントにつないでから、Stop-AzureStackコマンドレットを実行しましょう。というか、通常シャットダウンしないもののようですね…。

docs.microsoft.com

Azure PipelinesでAzureのREST APIを呼ぶ

これはAzure DevOpsアドベントカレンダー19日目の記事です。

qiita.com

というちぇんわさんの無茶ぶり読者からのご質問があったので、簡単にやってみました。

Azure Pipeline task to call Azure REST API

難しいことはなくて、Azure PipelinesにPowerShellタスクを追加して、普通にPowerShellでのREST API呼び出しているだけです。もちろんアクセストークンなんかはこんな生書きしてはいけません(笑)。variablesか、Libraryに入れておくのが望ましいです。

一つ悩ましいとすれば「どうやってAzureのトークン取るの?」ということですが、今回の場合、AzureのREST APIのリファレンスには"Try It"というボタンがついているので、そこから持ってきました。

例えばVirtual Machinesの一覧を取るAPI。

docs.microsoft.com

このトークンの権限はちょっと調べてないですが、同様のことはAzure-CLIでもできます。Try Itからサインアウトしてもキーは使えていました。

docs.microsoft.com

qiita.com

ただまぁどうしてもRESTじゃないといけないということはあると思いますが、簡単にやるならAzure PowerShellタスクやAzure-CLIタスク使うとこの辺の面倒全部見てくれる(Login-AzureRmAccountコマンドレット不要)ので、そっちのほうがいいんじゃないかなと思いました。

docs.microsoft.com

docs.microsoft.com

Azure DevOps 2018/9/10の更新

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

docs.microsoft.com

Sprint 140を記念してではないですが、今回のリリースではVisual Studio Team ServicesからAzure DevOpsへブランド変更が行われました。基本的に今まで使っていた方々には大きな影響はメール通知のフォーマットやfromアドレスが変わったことくらいでしょうか。

Sprint 140は今回の展開は数日中に行われるとのことなので、このエントリーを読んでいる方皆さんのアカウントにはすでに展開されているはずです。

OSS向けの公開レポジトリおよび、CI/CDパイプラインの無償枠がずいぶん強化されましたね。とはいえ、Microsoft Hosted-agentのストレージが10GBしかないので、あまりに大きいレポジトリのビルド&テストは難しいかもしれません。たとえば.NET Core CLRのforkレポジトリはビルドできる思いますが、Core FXは難しいかもしれません。

用語も少し難しかったので、統一されるのはいいことです。

GitHubのAzure Pipelinesアプリがなぜできたのかと思ったんですが、個人アカウントでのOAuthの認証だと退職した時とか確かに困りますね。なるほどという感じです。

ではまた三週間後。

Translate to Japanese to Azure DevOps release note ...

Visual Studio Team ServicesからAzure DevOpsへ

はじめに

Microsoftが提供するDevOpsツールはオンプレミスではTeam Foundation Server(TFS)、クラウドではVisual Studio Team Services(VSTS)という二本立てで提供されていました。これはこれでよかったのですが、どうしてもVisual Studioブランドが先に立ってしまい、Visual Studio以外からは使えない、もしくは.NETだけのものだと思われがちでした。実際私も会社やプライベートで何度となくそういう話を聞いたことがあります。

特にVSTSは最初Visual Studio Onlineという名前で始まったのですが(ちょうど7年前のことだそうです)、IDEのVisual Studioのオンライン版だと思われてしまうので、Team Servicesという名前に変更した経緯があります。

そこで今回二度目のブランドチェンジとしてVisual Studio Team ServicesからAzure DevOpsに変更されることになりました。以前からAzureとは強く連携していましたが、AWSのCodeシリーズ同様、MSのクラウドサービスの一部分であるという意味を押し出す形になります。個人的にはいいブランド変更だと思っています。欠点はVSTSのようなユニークな略称が難しいことでしょうか。TFSもそうだと思っていましたが、"TFS"でTwitterサーチするとちょっと辛い。

それはともかく、最初に書いた通り、"Visual Studio"ブランドが強すぎて、Python, Go, Ruby, node.js, JavaScriptなどにも対応していることがあまりにも知られすぎてないというのが現状でしたので、これで少し印象が変わるといいなと思います。

変更点に関しては公式ブログ公式サイトを見ていただくとして、いくつか日本語で補足。

名前について

クラウドサービスとしての総称はAzure DevOpsになります。オンプレミスのTFSに関しては次期メジャーバージョンの2019からAzure DevOps Serverという名前に変わり、Azure DevOpsベースの更新が行われます。

各機能の名称も変わります。

特に、Azure Pipelinesに関してはGitHubのCI/CD機能としても使えます。

URLについて

今まで account.visualstudio.com というURLでしたが、オプトインで dev.azure.com/account になります。ドキュメントのURLもAzure配下に移動します。 今後、新規で作るアカウントは azure.com 配下になります。

既存のURLは今後リダイレクトで維持されるそうです。

価格について

今までの無料プランではこんな感じでした。

  • 240分までのビルド
  • 無制限のビルド定義
  • 無制限のプライベートコードレポジトリ
  • 20000分のWeb負荷テスト(Jmeterのホスティングサービス)

これがこう変わります。

オープンソース向け

  • パブリックプロジェクトに関しては無制限のビルド時間(AppVeyorのOSSプランと思ってください)。最大10同時ビルド。
  • 無制限のビルド定義
  • 無制限のプライベートコードレポジトリ

GitHubユーザーに関してはAzure Pipelineというアプリを追加すると、この無料プランのCI/CDが追加されます。

github.com

小規模チーム向け(5人まで)

  • 最大1同時ビルド。1800分まで無償。一つだけ自分でプライベートエージェントを使用可能
  • 無制限のビルド定義
  • 容量は無制限のレポジトリ(パブリックも可能)
  • 無制限のステークホルダーライセンス(カンバンの編集だけできるユーザー)
  • Azure Artifactsを使用可能(6人目からは有料)
  • 20000分のロードテスト

それ以上の規模

  • 10ユーザーで月額3360円
  • 最大1同時ビルド。1800分まで無償。
  • 無制限のビルド定義
  • 容量は無制限のレポジトリ
  • Azure Artifact を使用可能
  • 無制限のステークホルダーライセンス(Azure Boardの編集/参照だけできるユーザー)
  • Visual Studioサブスクリプション(Enterprise)ユーザーはこのライセンスが含まれる

Azure Testに関しては従来通りMarketplaceで追加購入です。

価格に関してはこちらを見てください。

Azure DevOps Services | Microsoft Azure

この変更はSprint 140としてリリースされました。こちらは別途翻訳します。

既存ユーザーへの影響(追加)

5人以下で無償のプライベートGitとして使っている人たち

ビルドが240分から1800分になったことと、 {account}.visualstudio.com/_settings へアクセスして、オプトインでURL変更を許可しなければ、ほぼ変わりありません。

Visual Studioサブスクリプションユーザー

こちらもURLを変えられる、ビルドが1800分が無償枠になった、以外の変更はありません(そのはずです)。Visual Studio Pro Subscriptionの場合は小規模チーム向けのライセンスと同等になるはずで、Test Plans, Artifactsの対象外です。

Visual Studio Enterprise Subscriptionの人は全機能が使えます。