[Paris merge world tour] 4D Autour de Perforce 2013
1. 1
Autour de Perforce
Stéphane Hamel
Build Manager
4D
2. 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
3. 3
4D
Le plus court chemin vers votre développement
4. 4
4D
« Accélérer & simplifier »
30 ans d’existence
150 personnes
8 filiales
30 Revendeurs
+8000 clients dans plus de 70 pays
5. 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. 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
13. 13
Perforce dans le monde 4D
France
Allemagne
Maroc
USA
Japon
Thaïlande
14. 14
Perforce dans le monde 4D
France
Allemagne
Maroc
USA
Japon
Thaïlande
Australie
15. 15
Perforce dans le monde 4D
France
Allemagne
Maroc
USA
Japon
Thaïlande
Australie
Colombie
16. 16
Perforce dans le monde 4D
«
Compress:
speed
up
slow
connec;ons
by
compressing
files
when
submiBng
or
geBng
revisions
»
17. 17
Perforce dans le monde 4D
Sauvegarde et restauration automatique
18. 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. 19
Perforce dans le monde 4D
Sauvegarde et restauration automatique
Sauvegarde
sur
une
baie
disque
réseau
20. 20
Perforce dans le monde 4D
Sauvegarde et restauration automatique
Récupéra;on
et
restaura;on
de
la
sauvegarde
21. 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
23. 23
Perforce dans le monde 4D
Table des droits
Evitez les lignes //depot/…/4D/….jpg
24. 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. 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. 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. 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
»
31. 31
Perforce dans le monde 4D
Triggers
Sortie de produit à Freeze des sources
32. 32
Perforce dans le monde 4D
Triggers
Sortie de produit à Freeze des sources
Table des droits chaotique à Freeze par trigger
33. 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. 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. 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. 36
Perforce dans le monde 4D
Teamcity
Age de pierre
~= 100 programmes presque identiques
Enchaînement manuel
37. 37
Perforce dans le monde 4D
Teamcity
Age de bronze
~= 10 programmes paramétrables
Enchaînement manuel
38. 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. 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. 40
Perforce dans le monde 4D
Teamcity
TeamCity
- Système d'intégration continue
- Cross plateformes (Windows, Mac et Linux.)
41. 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. 60
Perforce dans le monde 4D
Teamcity
Teamcity supervise Perforce
Submits, labels, get, workspace, etc.
Et surtout sans le moindre effort
61. 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. 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. 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