Monday, June 27, 2011

Sharepoint 2007 - Deploy in produzione con Visual Studio 2008

Dopo aver partecipato a corsi di Sharepoint 2010 e visto quanto sia (relativamente ok...) semplice eseguire il Deploy di soluzioni dall'ambiente di test all'ambiente di produzione, mi sono scontrato con la realtà di Sharepoint 2007... Il deploy di una web part custom, implementata con Visual Studio 2008.

Lo sviluppo è andato liscio, senza problemi.
Il deploy in ambiente di test, ancora più semplice: tasto destro sul progetto, click su Deploy e via.

Ora è giunto il momento del deploy in produzione.. Come fare?

Diversi forum mi propongono soluzione a detta loro "semplici", con creazione di un progetto CAB per generare un package da copiare in produzione e poi deploy con stsadm. Non è così facile.

Almeno, io ho incontrato difficoltà per due motivi:

- o riconosce il file come CAB quindi vuole addpackage anziché addsolution
- o (se rinominato in .wsp) non vuole addsolution
- o mi dice che manca il manifest.xml (pur essendoci)

Allora, ho seguito una mia strada.

Da Visual Studio (in ambiente test), modifico il codice con eventuali puntamenti a siti o liste di test, con i Guid o nomi di produzione.
Sempre su test, eseguo un Deploy dell'applicazione. Effettua la compilazione, esegue il Deploy.
Di certo, su test, la web part non funziona (dà Errore - File Not Found, perché cerca liste o siti che non esistono su quella macchina).
Ma a me, quello che interessa è il WSP con cui esegue questo Deploy!

Apro la folder bin (in Debug o Release) e vedo il mio package WSP.
Lo copio in una folder su Produzione.

A questo punto, semplicemente, mi posiziono in C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN e:

stsadm -o addsolution filename C:\PERCORSO\NOMESOLUZIONE.wsp

O, se già in produzione:

stsadm -o upgradesolution -name NOMESOLUZIONEDACENTRALADMIN.wsp -filename C:\PERCORSO\NOMESOLUZIONE.wsp -immediate -allowGacDeployment

E voilà!
Moolto pià semplice del previsto (per così dire...)

Buoni Deploy!