Template designed by Storie dalla trincea: Team Foundation Server in casi limite e non solo... Matteo Emili [email protected] http://mattvsts.blogspot.com || @MattVSTS
Template designed by
Storie dalla trincea: Team Foundation Server in casi limite e non solo...
Matteo [email protected]://mattvsts.blogspot.com || @MattVSTS
Di cosa stiamo parlando?
Servizi accessori
Client
I backup
•Stiamo proteggendo dei database
•Il tool di backup integrato nella console e’ la migliore soluzione per i backup di TFS
•Si puo’ utilizzare un tool esterno• Solo DR – backup avviene senza detach• E’ necessario marcare le transazioni
•Se si usa SSRS – backuppare la Encryption Key!
Detached vs DR backup
•Un backup detached marca il riferimento delle identita’ di TFS_Configuration (GUID), mantenendo sincronizzati i database
•Il tool di TFS esegue backup detached senza mandare offline i database
•Un DR backup permette il restore solo ripristinando il server (Application Tier Only Wizard)• E’ necessario che TFS_Configuration sia backuppato insieme o
successivamente agli altri DB
Template designed by
DEMO
TFS ed i backup
Operazioni quotidiane
•Operational Intelligence
•Administrative Report Pack
•Best Practices Analyzer
•TFS Administration Tool
•TFS Team Project Manager
•BYOT/R!
Build-Your-Own-Tool/Report!
•Automatizzate il piu’ possibile
•Report, report, report…• Permettono di essere operativi su un problema in tempo molto ridotto• Excel and PowerPivot sono vostri amici
•PowerShell ISE• Ambiente per scripting• PowerShell ha accesso al .NET Framework
•Comandi essenziali• ConvertFrom-Csv • Export-Csv• ConvertTo-Html • Invoke-Command
Interroghiamo SQL Server?
•Non dobbiamo mai modificare i database di TFS
•Fondamentale usare le DMV di SQL Server
•Esempi? Stato del Transaction Log, operazioni in corso
Versioning dei Process Template
•E’ essenziale tenere un versioning dei Process Template
•Una copia di quelli OOB si trovano in:C:\Program Files\Microsoft Team Foundation Server <vNumber>\Tools\Deploy\ProcessTemplateManagerFiles
•Branch-per-customisation su albero separato
•Nuova folder/repo per Process Template• I Process Template cambiano da Update ad Update,
non branchare mai quelli OOB
Template designed by
DEMO
Report, BYOT e versioning dei Process Template
High Availability
•SQL Server AlwaysOn Availability Group!
•Soluzione nativa di HA e DR in SQL Server• RTO di pochi secondi
•Il Transaction Log e’ critico
•E’ dispendioso in termini di hardware• Lo storage va sostanzialmente duplicato
Security model
•Tre differenti aree di ACL• TFS• SharePoint• Reporting Services
•Permessi ereditati da group membership
•Se un permesso non e’ esplicitamente allow, viene negato a meno che allow non sia ereditato
•Se un utente appartiene a piu’ gruppi ed uno di questi ha specificamente un deny, l’utente non avra’ quel permesso a livello globale (salvo explicit allow)
Consigli
•Usare gruppi Active Directory• Sono gestiti al di fuori di TFS• Creano una gerarchia facile da manutenere
•TFS Administration Tool per la gestione• Console unica
•Least Privilege Principle• Facile garantire privilegi maggiori, difficile tracciare un deny fra
centinaia di gruppi
Access Levels
•Non sono gruppi di sicurezza
•Basati sul licensing• Stakeholder – niente licenza• Standard – TFS CAL, Visual Studio Professional with MSDN• Advanced – Visual Studio Enterprise with MSDN
•CONSIGLIO: default su Stakeholder per dare accesso a tutti ed evitare problemi di compliance
Access Levels a confronto
Auditing
•Permessi• http://
blogs.msdn.com/b/willy-peter_schaub/archive/2014/12/10/extracting-effective-permissions-from-tfs-whitepaper-and-sample.aspx
•Licenze• analisi veloce con Excel dall’Audit Log
per gestire licenze ed accessi
•Attivita’• …in demo
Template designed by
DEMO
Gestire le ACL e l’auditing
Visual Studio ALM Rangers
•Le guide dei Visual Studio ALM Rangers sono la colonna portante di ogni amministratore di Team Foundation Server
•Sono tutte basate su esperienze reali
•http://blogs.msdn.com/b/visualstudioalmrangers/
Storia di troubleshooting
•TFS 2012 Update 3
•Accade solo da Web Access
•Due report da due progetti diversi
•?!?!?!
Su le maniche…
•TF237165 mai visto prima• Tre risultati su un qualunque motore di ricerca, nessuno rilevante
•“Errore di validazione”• Process Template customizzato? No.• Transizione orfana dopo l’upgrade? No.
•TFS BPA per verificare i web services• Nulla di anomalo.
Eureka!
•TFS Operational Intelligence• Diverse operazioni fallite (-1), con stacktrace ed informazioni dettagliate
•Microsoft Customer Support Service• Due giorni di lavoro e fix dedicata• Bug dell’integrazione fra TFS 2012 e Project Server 2010 solo in
determinate condizioni…• Rimozione dell’integrazione per quei progetti
•Bug delle Global List• Global List sono sopra le regole dei singoli Team Project e una Global
Workflow Rule di PS andava in errore
•Costo: £0.00 – bug del prodotto
Grazie a tutti per la partecipazione
Riceverete il link per il download a slide e demo via email nei prossimi giorni
Per contattarmi
Grazie