tech.guitarrapc.cóm

Technical updates

.NET

.NET 7 で WPF を Linux ビルドする

.NET 7 のリリースノートを見ているとふとWPFがあったので覗いてみると気になるリリースが含まれています。 devblogs.microsoft.com 引用: https://devblogs.microsoft.com/dotnet/wpf-on-dotnet-7/ Improve Linux build とは。.NET 7 で WPF がビルドできる…

新しいバージョンの .NET SDK と Visual Studio の更新

2022/11/8、.NET 7 がリリースされて、Visual Studio 2022 にも対応する更新 17.4.0 が降ってきました。ヤッター。 devblogs.microsoft.com これに伴い、Visual Studio の更新でインストールされている .NET SDK が意図せず変わるのに出会うのが3度を超えた…

GitHub Actions の setup-dotnet と ホストランナーの .NET SDK

GitHub Actions で .NET Core ビルドを行いたいときに利用するものといえば、setup-dotnet があります。 github.com 今回は Ubuntu-latest な環境で setup-dotnet がいる場合と、そうでない場合について考えてみます。 tl;dr; GitHub Actions と ホストラン…

CircleCI 上で dotnet test の verbosity がオーバーライドできない問題とその対処

CircleCI で dotnet test、妙な挙動をすることは前回1つ紹介しました。 tech.guitarrapc.com が、まさかまた1つネタが見つかるとは思わなかったです。 今回は dotnet test がこけた時の出力について。 更新 2020/6/17 本件の修正がマージされて修正されまし…

CircleCI Orb をいくつか作った話

幾つか CircleCI Orb を作っていたのですが、記事にしていませんでした。 どれも必要になって作ったもので、いずれもプロダクションで万単位で実行されれているのでいい感じで使えそうなら幸いです。 目次 目次 TL;DR Orbs とは 公開したOrbs guitarrapc/git…

Pulumi Workaround

この記事は、Pulumi dotnet Advent Calendar 2019 の25日目です。 qiita.com 最終日は、Pulumi でこんなときどうするのかをまとめていきます。 目次 目次 TL;DR Pulumi.Aws.Iam.Invokes の Input<T> が Output<T> の依存解決を行えない Pulumi-aws の destroy で v</t></t>…

Pulumi のState と実リソースの差分を同期する

この記事は、Pulumi dotnet Advent Calendar 2019 の23日目です。 qiita.com Terraform を使っていると、HCLで定義したリソースがHCLの定義とずれると差分として検出されました。 しかし、Pulumi では pulumi up をしただけでは検出されないことに気づきます…

DotNetCliToolReference から .NET Core Local Tools へ移行する

前回、.NET Core Tools と DotNetCliToolReference についてみてみました。 tech.guitarrapc.com DotNetCliToolReference がオワコンということで、.NET Core Local Tools に移行しないと、ということもあるわけでどのようにやったかを残しておきます。 目次…

.NET Core Tools と DotNetCliToolReference

.NET Core 3.1 がリリースされました、LTS リリースなので netcoreapp3.0 にしていたものは悉く netcoreapp3.1 に移行ですね。 さて、C# 的には .NET Core 3.0 から変化がほぼないのですが、dotnet cli や ビルド的には.NET Core 2.2から破壊的変更が行われ…

pulumi up 時の文字化け対策

この記事は、Pulumi dotnet Advent Calendar 2019 の19日目です。 qiita.com そろそろどうやるか見てみましょう。 と思ったのですが、日本語OS上では解決方法が見つからないのでゆるぼ。 目次 目次 TL;DR Summary NOTE: だめな方法 推察 REF TL;DR 現状日本…

Pulumi のプラグインを確認する

この記事は、Pulumi dotnet Advent Calendar 2019 の18日目です。 qiita.com Pulumi の各プロバイダの実装は Plugin として提供されています。 このプラグインを確認する方法を見てみましょう。 目次 目次 TL;DR Pluginの確認 GitHub .NET 実装では NuGet で…

Pulumi で他のstate 参照を行う

この記事は、Pulumi dotnet Advent Calendar 2019 の17日目です。 qiita.com Pulumi のTIPS を見ていきましょう。 Terraform の Remote State に相当する処理を見てみます。 Pulumiで 他のStack で管理しているリソースは参照できるのでしょうか? 目次 目次 …

Pulumi でstateから特定のリソースを消す

この記事は、Pulumi dotnet Advent Calendar 2019 の15日目です。 qiita.com Pulumi の State から特定のリソースだけ管理対象外にしたい、そんなことはきっと起こります。 どのようにやればいいのか見てみましょう。 目次 目次 TL;DR 想定ケース 対応方法 R…

Pulumi でリソースのパラメーターが変化しても無視 Ignore Changes する

この記事は、Pulumi dotnet Advent Calendar 2019 の14日目です。 qiita.com すでに Pulumi で扱うこと自体はなるほど、という感じになってきましたでしょうか。 完全に理解した() を目指して、さらに進めてみます。 Terraform 作ったリソースだが、実際には…

dotnet test にタイムアウトを仕掛ける

dotnet test をCI で実行していて、永遠に終わらないのを仕込んでしまったのですがどう対処するかです。 目次 目次 TL;DR 異常なテストを捕捉したい テスト実行 dotnet test をタイムアウトさせる dotnet test をRunsettings.TestSessionTimeout で実行タイ…

Pulumi を CircleCI で Continuous Delivery する

この記事は、Pulumi dotnet Advent Calendar 2019 の13日目です。 qiita.com Terraform では、PRに連動させてどのようにPlan/Apply をするのかを一度は考え、すでに実践しているはずです。 私のお勧めはAtlantis ですが、CircleCI でもいいでしょう。Terrafo…

Pulumi の設定を Config で保持する

この記事は、Pulumi dotnet Advent Calendar 2019 の10日目です。 qiita.com Pulumi は Web UIがあり、そこにはConfig が見えます。 実際にコードでも Config が参照でき、機密情報はConfigに保持して参照することでgit から分離できてよさそうです。 早速見…

Pulumi で既存のリソースを取り込む

この記事は、Pulumi dotnet Advent Calendar 2019 の9日目です。 qiita.com 前回までの記事で概ね Pulumi でかける感触が出てきたと思います。 今回から、一歩先に進めることを見ていきましょう。 まずは、既存のリソースを取り込むことです。terraform impo…

Pulumi でリソースの結果を参照させる

この記事は、Pulumi dotnet Advent Calendar 2019 の8日目です。 qiita.com リソースを作ったら、ほかのリソースを作るときにその結果を参照させたいお気持ちになります。 どうやるのか見てみましょう。 目次 目次 TL;DR Summary Detail Output の処理の種類…

Pulumi リソースのグルーピングと非同期処理を行う

前回リソースの入れ子をする方法を見ました。 この記事は、Pulumi dotnet Advent Calendar 2019 の6日目です。 qiita.com 今回は、ComponenseResourceで親子関係の維持、Dataリソースをasync/awaitで使うという二点を担保できるようにResourceクラスの簡単な…

Pulumi のリソースを入れ子にする

この記事は、Pulumi dotnet Advent Calendar 2019 の5日目です。 qiita.com リソースの親子関係を持たせることで、preview表示、グラフ表示したときに入れ子状態が格段と見やすく把握しやすくなります。 ではどうやって親子関係を持たせればいいのでしょうか…

Pulumi で Aws のリソース情報の取得

この記事は、Pulumi dotnet Advent Calendar 2019 の4日目です。 qiita.com terraform でいうところの data リソースに相当する処理を見てみましょう。 すでに存在するリソースを参照して、ほかのリソースで利用するための方法です。 目次 目次 TL;DR 現在の…

Pulumi のコンセプト - プログラミングモデル

この記事は、Pulumi dotnet Advent Calendar 2019 の2日目です。 qiita.com Getting Started を一日目で見たので、Pulumi で C# を使ってそもそもどういう風に書けばいいのかコンセプトを把握します。 疑問はそれから順次書きながら解消していきましょう。 …

Pulumi の .NET Coreの Preview リリースとGetting Started

この記事は、Pulumi dotnet Advent Calendar 2019 の1日目です。 qiita.com Pulumi の .NET Core 対応版が Preview リリースされました。 Getting Startedから、実際に環境を構築したり疑問点の解決を回を重ねながらみていきましょう。 目次 目次 TL;DR Pulu…

CircleCI でdotnet test が遅い問題と対処方法

この記事は、C# その2 Advent Calendar 2019 の一日目の記事です。 qiita.com C# で書いたアプリをLinuxやコンテナ環境で動かすことも当たり前になりました。コンテナイメージを作成するのにCircleCI は非常に便利な機能が多く、私も多くの場面で CircleCI …

servo で gRPC(MagicOnion)サーバーを公開する

2019/7/29 に servo に関する記事をみて、gRPC っていけるのかなということで MagicOnion で試していました。 qiita.com 記事にするのを忘れてたので書いておきます。 目次 目次 結論 何がうれしいのか 結論 問題なくok 大事なのは、MagicOnion のサーバーを…

TeamsId2BitwardenConverter でTeamsId から Bitwardenへの移行を再度行う

TeamsId から Bitwarden への移行をまたやってました。 tech.guitarrapc.com 作っておいてよかったということでサクッとやったのですがいくつか修正しています。 目次 目次 TeamsId2BitwardenConverter 個人のデータを移行する まとめ TeamsId2BitwardenConv…

.NET Core 3の Single-file executables を生成する

.NET Core 3.0 では、単一バイナリ(Single-file executables)が生成可能になりました。 github.com 今回はどのようにSingle Executable生成するのか、普段は .NET Core 2.1 でビルドしたいときの分け方、dotnet global tool とビルドを分けること、GitHubリ…

AWS Secret Manager を使ってASP.NET Core のシークレット情報を扱う

.NET Core で AWS において機微情報を扱うときに、AWS Secret Manager や System Manager の Parameter Store が候補に上がります。 ここでは、Secret Manager を使った ASP.NET Core での組み込みについて書いておきます。 目次 目次 TL;DR AWS Secret の選…

非ASP.NET Coreなプロジェクトで UserSecretsを使うためのVisual Studio 拡張を作りました

非ASP.NET Core、特にGeneric Host で開発するなら必要になるVS拡張を公開していたのを忘れていました。*1 今回は、GenericHost など非ASP.NET Coreなプロジェクトでも、ASP.NET Core なプロジェクトにある Manage UserSecrets (ユーザーシークレットの管理)…