kkamegawa's weblog

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

Azure Pipelinesでブランチ作成時にCIの中身を実行させない

自分用のメモ

Azure DevOpsでhotfix用のトピックブランチ含めてCI設定する場合、YAMLではこんな感じトリガーを書きます。

trigger:
- master
- hotfix/*

ただ、これだとmasterからhotfix用のトピックブランチを新規で作るタイミングでもCIが実行されてしまいます。ブランチ作成時に完全に止める方法はないはずですが(たぶんきっと)、ビルドエージェントの中身を動かさないということなら可能です。

stages:
- stage: Build
  displayName: Build stage
  jobs:  
  - job: Build
    displayName: Build
    pool:
      vmImage: $(vmImageName)
    condition: and(succeeded(), in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI'))

こんな風にstageのconditionでand(succeeded(), in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI'))と指定すると、コミットしたときのみエージェントフェーズが実行されます。

手動やスケジュールビルド、Pull Requestではスキップしてしまうので、それではこまるという場合はPullRequest, Schedule, Manualといった値を指定してください。この辺に載ってます。

docs.microsoft.com

もちろん複数エージェントフェーズがある場合、それぞれで指定が必要です。 

Azure DevOps Server 2019.1 RC1公開

devblogs.microsoft.com

docs.microsoft.com

リリースノートはたぶん公式が翻訳してくれると思うので、ここではやりませんが、Sprint 153までの大部分が入っていると思います。

手元でインストールして確認したところ、私の環境だけかもしれないのですが、Releaseのdownload artifactsが動かない現象が出ています。新規/既存どちらもダメ。ある一つの環境だけっぽいのですが、日本語環境固有かもしれないので、試すときはバックアップを取って、オフラインになってもいい環境で試してください。

現象はMSに報告していて、現在調査中です。

今回のUpdate 1ではBasicプロセステンプレート、作業項目でのマクロの追加(@StartOfYear, @StartOfMonth, @StartOfWeek, @StartOfDay)、GitHubとの連携強化(正直これ使うならクラウド版使ったほうが…)、Pull Requestのマージタイプの表示(とどんなコミットグラフになるのかの表示)、Web編集時のエンコーディングの強化、YAMLインテリセンスの追加、Grafanaサポートなどなど盛りだくさんです。

今回からAnalysisにはAnalysis拡張機能が不要になりました…とのことですが、自分の環境ではここのアップグレードもうまくいってないようで、真っ白画面が出るので、報告します…。

Microsoft MVP Award renewal !

One more year!

f:id:kkamegawa:20190702041545p:plain

というわけで、今年もDeveloper Technologiesで再受賞できたようです(9回目です)。イベントに来てくださった皆様、このブログを読んでくださっている皆様、そのほかの場所で絡んでくださっている皆様、ありがとうございます。

今回はちらほら再受賞できなかった方がいたので、ちょっとびっくりしていますが、彼らの基準(非公開で、製品グループごと違うらしい)で審査されているんだなとは思います。

まわりの同じDeveloper Technologiesの仲間がどんどんAzureに行ってしまって寂しいばかりですが、引き続きAzure DevOps関係やってる人として活動していきますので、よろしくお願いします!

Windows TerminalにPowerShell Coreを追加する

issueも出ているので、賞味期限は短いブログになるはずです(笑)。

Windows Terminalの初期プレビューが公開されました。Windows 10 1903を入れておかないといけませんが、ビルド環境がなくてもストアからインストールできます。

www.microsoft.com

ANK以外の環境だと日本語周りとかうまく動かない点も多いようですが、ぼちぼち使っていきます。インストールすると、Ubuntu(WSL1), cmd.exe, Windows PowerShellの三つの環境がプリインストールされています。PowerShell Coreも入れたいなぁ、と思ったので、Settingsを起動、jsonファイルを編集します。

(追記)
どうもPowerShell Core 6.2.xを入れていれば最初から認識されるようです。私は更新さぼってて6.1.1のままだったのでこの技が必要になりました。Terminal入れるまえに更新するといいようです。 (/追記)

余談ですが、settingsで単なるjsonが開くとは知らなかった&jsonを関連付けしていなかったので、結構困りました。VS Codeでもなんでも関連付けておいてください。

profilesセクションの配下に以下の設定をコピペします。フォントサイズはちょっと大きめに変えました。

        {
            "acrylicOpacity" : 0.5,
            "background" : "#012456",
            "closeOnExit" : true,
            "colorScheme" : "Campbell",
            "commandline" : "pwsh.exe",
            "cursorColor" : "#FFFFFF",
            "cursorShape" : "bar",
            "fontFace" : "Consolas",
            "fontSize" : 16,
            "guid" : "{574e775e-4f2a-5b96-ac1e-a2962a402336}",
            "historySize" : 9001,
            "icon" : "ms-appx:///ProfileIcons/{574e775e-4f2a-5b96-ac1e-a2962a402336}.png",
            "name" : "PowerShell Core",
            "padding" : "0, 0, 0, 0",
            "snapOnInput" : true,
            "startingDirectory" : "%USERPROFILE%",
            "useAcrylic" : false
        },

迷ったのがguidとiconでこれどこからとってくるんだろうと思ったら、GitHubの別のissueに載ってました。Windows 10に登録されているiconのms-appxのURLそのままでいいようです。

f:id:kkamegawa:20190623133822p:plain

これでPowerShell Coreも起動します。Settingsに登録すると、アイコンは即時反映されますが、起動はしないようなので、Terminalsを再起動してから使ってください。

github.com

もうちょっといっぱいプロファイルにいれてよ、というissueは立っています。あと、PowerShell Coreをscoopで入れている人はこれやっても認識しないというissueもたっています(scoop使ってないので、確認していません)。

github.com

見てわかる通り、guidの値はこのissueからもらってきました。

Scott Hanselman氏のブログもご参考に

www.hanselman.com