Pubblica una singola applicazione Web ASP.NET su più domini con supporto Git

1

Ho uno sviluppatore che sta sviluppando un'applicazione Web ASP.NET per me e l'ho pubblicata finora sul mio server, example1.com , finora senza alcun problema. È gestito con un singolo repository Git su Bitbucket senza problemi, quando aggiunge nuove funzionalità, posso facilmente recuperare & estrarre le modifiche e quindi pubblicarlo subito sul server live.

Ora ho bisogno di ospitare questa applicazione su example2.com . Userà il proprio database e alcuni loghi / immagini saranno diversi da quello sul repository git. Inoltre, ho modificato alcuni valori di larghezza in alcune viste in modo che le nuove immagini si adattassero meglio. In totale, ci sono come 7 file diversi da quello ufficiale di git git, e quello live su example1.com .

Posso facilmente copiare e incollare la soluzione corrente in una nuova cartella, sostituire i file che devono essere sostituiti e quindi pubblicare in example2.com , ma voglio che la mia configurazione sia aggiornata tramite Idiota. Ho provato a collegarli entrambi allo stesso repository git e ho modificato un po 'il file .gitignore nella nuova soluzione, ma non sono riuscito a trovare la soluzione e sono stato confuso.

Quale sarà il modo più semplice per gestire questi due siti? Manterranno le stesse funzionalità di base, solo diversi database (file web.config) e file di logo. Sto usando Microsoft Visual Studio.

    
posta Jesse 18.12.2018 - 02:45
fonte

1 risposta

2

Quello che stai descrivendo è un'applicazione single-tenant. Quello che vuoi è un'applicazione multi-tenant. La differenza è che un'app single-tenant è una base di codice che viene copiata e implementata per un cliente alla volta. Considerando che, un'app multi-tenant è una base di codice distribuita in una posizione e più clienti l'accedono, spesso tramite sottodomini diversi.

Le applicazioni single-tenant hanno il loro posto. Il software aziendale installato sull'hardware di un cliente dietro il firewall è single-tenant. Ma introduce delle sfide. L'implementazione di correzioni di bug e nuove funzionalità richiede l'aggiornamento di ogni istanza, alcune delle quali potrebbero essere state personalizzate (come nel caso che descrivi).

Le applicazioni multi-tenant sono in genere una singola applicazione Web a cui i diversi clienti accedono contemporaneamente, in genere tramite diversi URL (ad esempio customer1.example.com, customer2.example.com). I vantaggi qui sono che tutti gli aggiornamenti di bug e funzionalità vengono applicati contemporaneamente a tutti i clienti. Questa è la promessa del software basato sul web.

Per quanto riguarda la personalizzazione dell'app per ogni cliente, ci sono tutti i tipi di semplici modi per farlo. Supponendo che la tua app abbia il concetto di cliente, puoi aggiungere immagini per ogni cliente che vengono caricate tramite un'interfaccia amministrativa. Standardizzando le dimensioni dell'immagine accettate, puoi persino limitare le modifiche CSS.

Prenditi il tempo necessario per creare un'app multi-tenant. Pagherà per il momento in cui aggiungi il tuo terzo o quarto cliente.

    
risposta data 18.12.2018 - 07:47
fonte

Leggi altre domande sui tag