Definire il metodo di rilascio in .NET Aspire

di Morgan Pizzini, in ASP.NET Core,

In .NET Aspire può essere usato, oltre che per lo sviluppo, anche come strumento per la pubblicazione degli applicativi.

// utilizzo docker compose
builder.AddDockerComposePublisher();

Fino alla versione 9.2 il rilascio di ogni risorsa prevedeva l'utilizzo del medesimo ambiente. Questa tecnica, seppur ottima nella maggior parte dei casi, presenta un limite quando la pubblicazione delle risorse deve essere effettuata su infrastrutture diverse: potremmo volere un servizio Backend API su Azure Container App, un frontend in Kubernetes ed altre API in Docker Compose.

Benchè la definizione globale non sia andata in disuso, come nell'esempio sottostante

// utilizzo globale di Azure Container Apps
builder.AddAzureContainerAppEnvironment("env");

La modalità di pubblicazione segue, dalla versione 9.3, un modello distribuito e non più centralizzato, dove è possibile definire vari ambienti ed assegnarli ai servizi adeguati

// ambiente k8s
var k8s = builder.AddKubernetesEnvironment("k8s-env");
// ambiente docker compose
var compose = builder.AddDockerComposeEnvironment("docker-env");

// pubblicazione tramite docker compose
builder.AddProject<Projects.Api>("api")
       .WithComputeEnvironment(compose);

// pubblicazione tramite k8s
builder.AddProject<Projects.Frontend>("frontend")
       .WithComputeEnvironment(k8s);

È bene specificare che nel caso di più environment di pubblicazione, se non viene utilizzato WithComputeEnvironment su una o più risorse, .NET Aspire lancerà un errore perchè non in grado di capire quale compute environment utilizzare.

Commenti

Visualizza/aggiungi commenti

| Condividi su: LinkedIn, Facebook

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi