5

Stiamo appena iniziando lo sviluppo e l'implementazione per Dynamics CRM 2011 in sede. È possibile implementare l'automazione per il check-in del codice per promuovere il codice dallo sviluppo ai sistemi di test? Sembra che ciò implichi l'esportazione/importazione di soluzioni non gestite contenenti il ​​codice di sviluppo che è stato archiviato. Non sono stato in grado di trovare API attorno a questa funzionalità.È possibile configurare l'integrazione continua per MS Dynamics CRM 2011?

Se ciò non è possibile, quanto vicino si può ottenere? Sembra che ci siano API per automatizzare il caricamento di risorse web e plug-in (ad es. Webresourceutility nel sdk), ma le risorse web devono ancora essere collegate manualmente al modulo sul quale devono essere utilizzate (nel caso di javascript eccetera). Qualcuno ha fatto progressi nell'automazione di parti dei loro ambienti CRM?

per riferimento, stiamo usando vs 2010 & tfs 2010 utilizzando MSuild per l'integrazione continua corrente.

risposta

4

Abbiamo alcune tecniche che ci forniscono una struttura CI molto solida.

Plugin

  • Tutti i nostri plugin sono CI Compilato il check-in
  • Tutti codice del plugin che scriviamo ha dettagli di auto-registrazione, come parte del componente.
  • Abbiamo scritto uno strumento che riproduce i plugin nel database, disinstallando prima quelli vecchi in base ai dettagli dell'autoregistrazione .

Soluzione

  • Abbiamo una soluzione non gestito in un'organizzazione di personalizzazione che è pulita e non contiene dati. Lo sviluppo è condotto fuori da questa organizzazione . Ha entità, forme, Jscript, Visualizzazioni, Icone, Ruoli, ecc.
  • Questo database di personalizzazione ha tutte le soluzioni che abbiamo importato da terze parti e le personalizzazioni sono fatte nella nostra soluzione che è l'importazione finale in una destinazione organizzazione.
  • La soluzione viene esportata come gestito e non gestito e salvato in TFS
  • Noi memorizzare i JScript e SSRS RDL in TFS e hanno uno strumento personalizzato che svolge questi nel database di personalizzazione prima che sia esportato.
  • Abbiamo anche una soluzione unmanaged SiteMap che viene esportato come non gestito (per essere sicuri di ottenere una Sitemap risultante finale siamo dopo)

Deployment

Abbiamo un'interfaccia utente e riga di comando utensile motorizzato che fa le seguenti: -

  • Targets una particolare organizzazione
  • Importa personalizzazione gestita soluzione in un ambiente selezionato. per esempio. TEST. Inoltre, importa la Sitemap non gestita.
  • Disinstalla la soluzione esistente, che era lì (che aggiorniamo il file solution.xml dandogli un nome in base alla data/ora in cui importiamo)
  • Installa/Disinstalla il codice del plugin
  • Installa tutti gli script SQL personalizzati (per RDL)
  • Riattiva le regole di rilevamento duplicate
  • Riproduce in determinati metadati che vengono archiviati sotto il controllo del codice sorgente. per esempio. Entità del rapporto personalizzato che abbiamo creato con allegati e configurazione XML.

Non è del tutto perfetto, ma tramite la riga di comando aggiorniamo di notte TEST e tutti i PC degli sviluppatori. Ci vuole circa 1 ora per installare e quindi disinstallare la vecchia soluzione per organizzazione.

Problemi correlati