2
Autour de Perforce
• 4D • Présentation • Produits
• Perforce dans le monde 4D • Quelques chiffres • Nos outils
• Sauvegarde et restauration automatique • Droit et démons • Duo Teamcity-Perforce • Les autres
4
4D
« Accélérer & simplifier » 30 ans d’existence 150 personnes 8 filiales 30 Revendeurs +8000 clients dans plus de 70 pays
5
Produits 4D
4D Produit RAD Multi-plateforme Depuis +30 ans
Wakanda Plateforme « end-to-end » JavaScript Création d’applications web Depuis 1 an
7
Perforce dans le monde 4D Quelques chiffres
Utilisé depuis 2003 2 dépôts contenant + de 500 000 fichiers ~= 500 Workspaces pour 67 utilisateurs
sous 3 OS Windows-Mac-Linux Une base de données Perforce de 13 Go
16
Perforce dans le monde 4D
« Compress: speed up slow connec;ons by compressing files when submiBng or geBng revisions »
18
Perforce dans le monde 4D Sauvegarde et restauration automatique
Créa;on du checkpoint avec P4D Sauvegarde des fichiers du dépôt Sauvegarde des programmes Sauvegarde de la licence
19
Perforce dans le monde 4D Sauvegarde et restauration automatique
Sauvegarde sur une baie disque réseau
20
Perforce dans le monde 4D Sauvegarde et restauration automatique
Récupéra;on et restaura;on de la sauvegarde
21
Perforce dans le monde 4D Sauvegarde et restauration automatique
Contrôle de la restaura;on Bascule sur le serveur d’urgence Récupéra;on de shelve
24
Perforce dans le monde 4D Table des droits
Evitez les lignes //depot/…/4D/….jpg Même Perforce ne s’y retrouve pas
lors des intégrations
« excessive wildcard »
25
Perforce dans le monde 4D Optimisation de la table des droits Line Access Level User/Group Name Host Folder/File
88 Super Group Admin1 * //depot/…
89 Super Group Admin2 * //depot/…
90 Super Group Admin3 * //depot/…
26
Perforce dans le monde 4D Optimisation de la table des droits Line Access Level User/Group Name Host Folder/File
88 Super Group Admin1 * //depot/…
89 Super Group Admin2 * //depot/…
90 Super Group Admin3 * //depot/…
Line Access Level User/Group Name Host Folder/File
88 Super Group AdminPerforce * //depot/…
27
Perforce dans le monde 4D Optimisation de la table des droits Line Access Level User/Group Name Host Folder/File
88 Super Group Admin1 * //depot/…
89 Super Group Admin2 * //depot/…
90 Super Group Admin3 * //depot/…
Line Access Level User/Group Name Host Folder/File
88 Super Group AdminPerforce * //depot/… Créa;on du Groupe AdminPerforce Destruc;on des groupes Admin1, Admin2 et Admin3 Modifica;on de la table des droits pour ne meYre que le nouveau groupe AdminPerforce Sauvegarder la table des droits en appuyant sur « Save Edits »
29
Perforce dans le monde 4D
Les groupes sont sauvegardés automatiquement, contrairement à la table des droits
32
Perforce dans le monde 4D Triggers
Sortie de produit à Freeze des sources Table des droits chaotique à Freeze par trigger
33
Perforce dans le monde 4D Triggers
Sortie de produit à Freeze des sources Table des droits chaotique à Freeze par trigger Identification des freezes par label à Freeze13.x
34
Perforce dans le monde 4D Triggers
Sortie de produit à Freeze des sources Table des droits chaotique à Freeze par trigger Identification des freezes par label à Freeze13.x Autorisation de submit à Groupe NoFreezeMe
35
Perforce dans le monde 4D Demon
P4review.py Script Perforce qui permet d’envoyer un email sur les submits qui nous intéressent
36
Perforce dans le monde 4D Teamcity
Age de pierre ~= 100 programmes presque identiques Enchaînement manuel
37
Perforce dans le monde 4D Teamcity
Age de bronze ~= 10 programmes paramétrables Enchaînement manuel
38
Perforce dans le monde 4D Teamcity
Age de fer ~= 10 programmes paramétrables Enchaînement automatique C’étaient les prémices de l'intégration continue. Mais un problème est alors apparu …
39
Perforce dans le monde 4D Teamcity
Age de fer ~= 10 programmes paramétrables Enchaînement automatique C’étaient les prémices de l'intégration continue. Mais un problème est alors apparu Le manque de visibilité
40
Perforce dans le monde 4D Teamcity
TeamCity - Système d'intégration continue - Cross plateformes (Windows, Mac et Linux.)
41
Perforce dans le monde 4D Teamcity
Point Fort : - Facilité de mise en œuvre du serveur - Gratuit pour les petites configurations - Perforce y est intégré nativement
Point Faible : - Manque de communauté
60
Perforce dans le monde 4D Teamcity
Teamcity supervise Perforce Submits, labels, get, workspace, etc. Et surtout sans le moindre effort
61
Perforce dans le monde 4D Les autres
- Outil de code review avec les applets Perforce
function settings(key) { if (key == "p4v_mainTabs") { return["//depot/Applets/CodeReview.html"]; } } settings(P4JsApi.centralSettingsKey());
63
Perforce dans le monde 4D Les autres
- Outils dans les Custom Tools
-‐ Script d’intégra;on automa;que d’une changelist ou d’un job -‐ Script permeYant de lister tous les submits de l’u;lisateur dans Notepad
64
Perforce dans le monde 4D Les autres
- Outil de synchronisation Perforce vers GitHub en DOS, interfaçage avec Teamcity - Outil d’intégration de projet open source - Serveur de symboles (pdb) avec la commande p4index - Serveur en remote