1706869548
2024-02-01 08:30:51
C# 8.0 を利用して、dotnet aspire 環境内で Optimizely をセットアップする方法を詳しく見てみましょう。 この詳細なガイドに従って、Optimizely プロジェクトを最初から構成します。 さらに詳しく調べて完全なコードベースにアクセスするには、次のサイトにアクセスしてください。 Optimizely Aspire GitHub リポジトリ。
注: Visual Studio プレビューと Aspire がインストールされている必要があります – https://learn.microsoft.com/en-us/dotnet/aspire/fundamentals/setup-tooling?tabs=visual-studio
別のメモ: コード内にパスワードがあることはわかっていますが、これはそれが機能することを証明するための POC です。 運用環境に移行することはありません。 ある時点で、スキャフォールディングをコンソール アプリに移動し、AppHost の if ステートメントに変更して、機能を完全に Web アプリの外に移動するかもしれませんが、今のところは問題ありません…
-
Optimizely プロジェクトを開始します。
dotnet new epicmsempty --name Something.Webまず、指定されたコマンドを使用して新しい Optimizely プロジェクトを作成します。
-
Visual Studio でのソリューションのセットアップ: Visual Studio を開き、新しい空のソリューションを作成し、新しく作成した Web プロジェクトをこのソリューションに追加します。
-
C# 8.0 にアップグレードします。 プロジェクトで Aspire 用の C# 8.0 が使用されていることを確認します。
-
起動設定を構成します。 ポート 8000 および 8001 を使用するように起動設定を設定することで、潜在的な既知の問題に対処します。
-
.Net Aspire オーケストレーションを統合します。 Web プロジェクトを右クリックし、[追加]→[.Net Aspire Orchestration]を選択し、指定された手順に進みます (エラーがポップアップする場合がありますが、今は無視してください。後で修正します)。
-
データベース構成: 次の構成でデータベースを apphost プロジェクトに追加します。
builder.AddSqlServerContainer("something.db", "0pti_R0cks", 1433) .WithVolumeMount("./App_Data/database-files", "/var/opt/mssql/data", VolumeMountType.Bind); -
起動設定と環境変数を更新します。 起動設定を変更して含めます
RUN_MODE環境変数を変更し、セキュリティ目的でプロトコルを HTTPS に切り替えます。{ "$schema": "http://json.schemastore.org/launchsettings.json", "profiles": { "Web": { "commandName": "Project", "dotnetRunMessages": "true", "launchBrowser": "true", "applicationUrl": "https://localhost:15138", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "DOTNET_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:16093", "RUN_MODE": "WEB" } }, "Scaffold": { "commandName": "Project", "dotnetRunMessages": "true", "launchBrowser": "true", "applicationUrl": "https://localhost:15138", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "DOTNET_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:16093", "RUN_MODE": "SCAFFOLD" } } } } -
伝播する
RUN_MODE環境変数: を確認してください。RUN_MODE環境変数は、以下を追加することでアプリホストから Web アプリに正確に渡されます。AddProject構成:.WithEnvironment("RUN_MODE", Environment.GetEnvironmentVariable("RUN_MODE")); -
サービス拡張の適応: ServiceDefaults 拡張クラスをサポートするように変更します。
Host.CreateDefaultBuilder(args)Optimizely の互換性のために。 具体的な変更点については、 Optimizely Aspire GitHub リポジトリ。 -
ロギング構成: のログ設定を更新します
Program.csログ管理を一元化するには:.ConfigureLogging(l => { l.AddOpenTelemetry(logging => { logging.IncludeFormattedMessage = true; logging.IncludeScopes = true; }); }) -
最終的な統合: 統合してセットアップを完了する
services.AddServiceDefaults(_webHostingEnvironment, _configuration);あなたの中にStartup.cs。 -
データベースの初期化とアプリケーションの起動:
- AppHostを実行します
Scaffoldデータベースを初期化するモード。 - 切り替える
Webモードを使用して、Aspire を通じて Optimizely サイトを運用可能にします。
- AppHostを実行します
完全なソース コードと追加リソースについては、 Optimizely Aspire GitHub リポジトリここでは、プロジェクトの構造、セットアップのニュアンス、カスタム構成をさらに詳しく調べることができます。
#Aspire #での最適なセットアップ #開発者向けウォークスルー #Technical #Dogsbody #プリンシパル #開発者
