kkamegawa's weblog

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

Azure DevOps 2022/5/4の更新

May the Fourth(4th) with you! ではないですが、Azure DevOps Sprint 203リリースノートの翻訳を行いました。オリジナルはこちらからご覧ください。

docs.microsoft.com

今回はBoardに対する機能改善が中心でしたね。親IDに関連付けられている子供のWorkItemって今まで取れなかったんだ(気づいていなかった)。プライベートプレビューなので、記事に書かれているメールアドレスにorganization名と"Cloud you enable private preview feature for Query by Parent Id?"とでも書いて送ればいいはずです。

今までBoardのカンバン上の順序はIDしかなかったので、swimlanesを使うかしかなかったのですが、ボード上で優先順位の変更ができるようになるのはいいですね。

バグとして報告されたとしても様々な事情で直さないということはありました。報告した人からしたらいやだけど、won't fixというラベルがつくともにょっとしますよね。Azure DevOpsではカスタマイズしないとできなかったこの値が標準でサポートされることになりました。まぁあればありがたいです。

Azure ArtifactsでUniversal Packageの複数organiztionでのupstreamがサポートされました。基本的には組織(会社など)で単一organizationを運用が推奨ですが、様々な事情でできないこともあります。そういう時には使えると便利ですね。

ではまた三週間後。

Translate to Japanese to Azure DevOps release not…

Git LFS 3.0以降を使う場合kerberos認証が必要

少し前から困っていたのですが(書こうと思って忘れていた)、公式からもブログが出ていたので、ご紹介。

devblogs.microsoft.com

発生条件

  • オンプレミスのAzure DevOps (Team Foundation) ServerでNTLM認証を使っている(クラウドのServiceには該当しません)
  • Git LFS 3.0以降(Git for Windowsでは2.33から3.0.1が含まれる)を使っている
  • Git LFSでファイルを管理している

私の場合、まず最初にこのissueの現象に遭遇しました。

github.com

Git LFS 3.0以降はgolangで書かれていて、golangの標準ではNTLMサポートしていない(AzureがNTLMのパッケージを出してはいる)ことがそもそもの原因のような?

Remote URLをsshにしてみたのですが、異なるエラーになるだけで、ダメでした。sshだからNTLMの影響を受けないのではと思っていたのですが、どうも違うようです。そして、submoduleがある場合(問題のあるレポジトリでは使っていたので)sshにはpipelineのエージェントに制限があるためあまり使いたくなかったのでした。

LFSで管理していたのは大きくない画像だったので、Git LFSをあきらめて、Git管理にすることで回避しました。

vlike-vlife.netlify.app

git lfs ls-files
git lfs untrack '*.png' '*.jpg' 
git rm --cached ファイルパス 
git lfs uninstall  

最後にcommit

git add .
git commit

履歴からは消さなくてもいいかなということで消していません。リモートから完全に消したい場合、再生成したほうがいいのかな?GitHubではリモートからも消したい場合リポジトリの再生成が必要になるようですね。

Azure DevOps Serverの場合、リモートリポジトリを消してもBoardsの内容は消えないので、この手順で復旧できるはずです。

  1. リモートをclone
  2. リモートレポジトリを削除
  3. 再度リモートを作成
  4. 新しいremote urlをクライアントに登録
  5. push

Azure DevOps 2022/4/20の更新

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

docs.microsoft.com

監査機能がオプトインに代わって(使っている人少なかったんかな)、Azure ADで運用しているアカウントのみ使用可能になってしまいました。私がもっているAzure DevOpsも個人のMSアカウントでは確かに監査(Audit)が消えています。

左がAzure ADで動かしているAzure DevOps、右が個人用MSアカウントで動かしているAzure DevOps。すでに監査を使っている人には影響がありませんが、新規に作った環境ではオプトインしなければならないので気を付けてください。

あれ…REST APIも使えなくなるのかな。今これ使ってMSアカウントのほうではまだAPI使ってアクセスできていますね。うーん、謎(たぶんUI消しただけなのかな)。

たまにログインできない現象を聞いたことがあったのですが、どうもCAP(条件付きアクセスポリシー)を設定してIPアドレスベースで制限していた場合のみ発生していたようですね。IPv4のみ許可していた場合起きていたようなので、Azure AD管理者と相談してくださいということだそうです。

新しいBoards Hubがパブリックプレビューになったそうです。以前はjQueryベースでしたが、いろいろ変わっているようなので、興味ある人はdeveloper toolsで見ると面白いかもしれません。

久々の大きい機能templateContextがAzure Pipelinesに追加されています。でもこれ使いこなすの難しそうな…MS内部では便利に使うのでしょうけれど。今までテンプレートに渡された引数によって処理を分けたい場合、内部のスクリプトで条件分岐するとか、条件分岐を使わないといけませんでしたが、templateContextを使えば記述がより単純に見やすくなりますね。これは確かに便利そうです。

Windows Server 2016のイメージを使っている人がまだ結構いるようで、引退が少し延びました。以前は数時間単位での意図的な停止でしたが、今度は丸一日(おそらくUTC時間)で毎週どこかの平日の曜日で落とすそうなので、これに引っかからない人はいないと思います。気を付けてください。

ではまた三週間後。

Translate to Japanese to Azure DevOps release not…

Azure DevOps 2022/3/29の更新

だいぶ遅れましたが、Azure DevOps sprint 201リリースノートの翻訳を行いました。オリジナルはこちらからご覧ください。

docs.microsoft.com

今までREST API使ったら削除したはずの添付ファイルを履歴からとってこれたんですね😅。これはコンプラ上どうなんだというきはしますので、改善されて何よりです。パイプライン用の拡張機能で拡張するためのエンドポイントが増えたのはいいことです。活用する拡張機能できるといいですね。

Azure DevOps ServerからServiceへ移行するとき、オンプレミスのサーバー版には存在したパイプラインごとの保持ポリシーが無効になります。このミスマッチが移行時の問題になることが多かったので、改善するそうです。とはいえ、日本語照合順序の移行を早くですね。

今までREST APIでパイプラインの結果を取得するとき自分自身のレポジトリしかとってこれなかったのですが、すべてのレポジトリが対象になるようです。そういうビューを作っている人向けには処理が簡単になりそうですね。

ではまた三週間後。

Translate to Japanese to Azure DevOps release not…