SlideShare uma empresa Scribd logo
1 de 55
Baixar para ler offline
Miteinander weiterdenken. 
Richard Mayr Johannes Nicolai 
1 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Ein Produkt ist noch keine Lösung. 
ALM-Leistungsportfolio 
• Produktauswahl 
• Implementation 
• Migration 
• Integration 
• Prozesse und Automatisation 
2 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Wir implementieren ALM. 
Als ALM-Solution-Provider betreuen wir 
• -über 110 Kunden 
• -über 25.000 Anwender 
• -aus allen Branchen 
• Allianz Versicherung 
• Alstom 
• Andritz 
• BASF 
• Continentale 
• DAF 
• Daimler 
• Deutsche Post 
• HAVI Logistics 
• Lear 
• Merck 
• Mettler Toledo 
• Palfinger 
• TNT Express 
• T-Systems 
• u.v.m. 
3 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Git/Gerrit with TeamForge 
Secure, Scalable, Standards-Compliant for the Enterprise 
Johannes Nicolai 
Director of Engineering 
CollabNet 
4 Copyright ©2015 CollabNet, Inc. All ENTERPRISE CLOUD DEVELOPMENT Rights Reserved.
Agenda 
• Introduction to Git, Gerrit and Jenkins 
• Git/Gerrit’s Place in the TeamForge Universe 
– Traceability 
– Searchability 
– Scalability 
– Security 
• Gerrit Signature Features 
– History Protection 
– Code Quality Gates 
• Q & A 
5 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Introduction of Technologies 
• Git 
– Most popular emerging distributed SCM 
• Jenkins 
– Most popular open source Continuous 
Integration 
• Gerrit Code Review 
– Widely used code-review tool and Git 
server backend 
• CollabNet TeamForge® 
– Provides an unparalleled smooth 
integration of all these tools into your 
software development process 
6 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Git = Leading DVCS (Distributed Version Control System) 
• Open source distributed SCM, used notably by: 
– Linux (it was originally developed for that very purpose) 
– Eclipse foundation 
– Android (based on Gerrit Code Review) 
• Why Git? 
– All operations are local 
• Search, log, history, branching and merging 
• Offline development is possible 
– Powerful merging strategies (merge, rebase, cherry-pick) 
7 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Git Popularity Continues to Grow, But…. 
The adoption of DVCS has accelerated in small teams, 
“but is moving more slowly in enterprise settings. 
Source: Gartner, 27 July 2011 ID Number: G00214153; Hype Cycle for Application Development, 2011; Ian Finley, Mike Blechar 
8 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Gerrit = (Widely Used) Git Server + Code Review Tool 
• 100% pure Java SSH and HTTP Git backend 
– Scalable and suitable for large Enterprises 
• Web-based and Command Line administration 
– Users and Groups 
– Project and branch security (read and write) 
• Collaboration and Code-review 
– B2B integration at code-level 
– Communicate and share code knowledge in the Team 
– Enforce workflow and code quality 
• The most successful open source code review 
– Android OS 
– Eclipse, OpenStack, Qt, CouchDB and many others 
9 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Who’s Using Gerrit in Production Today? 
10 Copyright ©2015 CollabNet, Inc. All Rights Reserved. 
source: Wikipedia
Git and Jenkins Market Share (study from zeroturnaround) 
11 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Jenkins = Most popular Open Source CI 
• Has hundreds of plugins to 
– Interact with various SCMs (Git, SVN, CVS, …) 
– Build software (ant, maven, gradle, make) 
– Run unit/integration tests (JUnit, Selenium, …) 
– Perform static code analysis (findbugs, checkstyle, 
PMS, Sonar, …) 
• Works brilliantly together with Gerrit over 
Gerrit Trigger Plugin 
– Keeps ssh connection open to learn about new 
review requests immediatly 
– Builds and verifies all configures quality gates (tests, 
coding conventions, code KPIs, you name it) 
– Sets ‘verified’ flag in review request according to 
result of verification build (either +1 or -1) 
– If Jenkins sets -1, then further code review isn’t 
possible, developer has to either re-work or 
abandon change 
12 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Tackling half baked review requests: 
Marrying Gerrit and Jenkins 
CI Build: OK CI Build: OK 
A1 C2* 
13 Copyright ©2015 CollabNet, Inc. All Rights Reserved. 
mmaasstteerr 
A1 
local 
master 
Verified: -1 
(build failed) 
Verified: +1 
(build OK) 
C2 rreeffss//ffoorr//mmaasstteerr 
push 
C2 
C2* 
C2* 
push 
Reviewed: +2
TeamForge = Enterprise-Grade Git Mgmt. + ALM 
14 Copyright ©2015 CollabNet, Inc. All Rights Reserved. 
 24/7 Support 
 Git/Gerrit Training 
 Standards-Compliance 
 Scalability 
 ALM Integration 
 History Protection 
 Code Quality 
 Advanced Git security 
 Git Projects organization 
 Code-review 
 Replication 
 Basic SCM features 
 jGit engine 
 Native engine 
 GitWeb 
Gerrit 
With TeamForge and Gerrit, Git is now ready for the enterprise. Realize all the 
benefits of Git, without compromising governance, security and compliance.
TeamForge = Enterprise-Grade Git Mgmt. + ALM 
Integration of 
existing tools 
Security, standards and audit 
compliance 
Scalability (and manageability 
at scale) 
15 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
TeamForge = Enterprise-Grade Git Mgmt. + ALM 
Searchability – across TF artifacts, including Code Search across 
multiple repositories, gerrit instances and other SCM tools (svn, 
cvs, perforce...) 
Traceability – associating the source code with 
requirements, issues, documents, tasks and 
other artifacts. 
RBAC – Role Based Access Control - for each application's concepts, 
documents, file releases, trackers, and discussion forums, you can 
assign permissions globally based on user roles 
16 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Simple RBAC - TeamForge 
17 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Gerrit Acces Rights- Not simple at all 
18 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
RepoCategories: Bridging the RBAC gap 
Motivation: 
Shield most users from Gerrit’s complexities by using pre-defined 
repo categories and generic TeamForge RBAC model with its SCM 
permissions. 
without hiding advanced features for power users 
Implementation: 
 Map TeamForge SCM permissions to Gerrit Access Rights. 
 Provide pre-defined code review policies so anyone can start to 
work with Gerrit within a few steps. 
 Code review policies are applied per repository. 
19 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
RepoCategories: Bridging the RBAC gap 
20 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
TeamForge = Enterprise-Grade Git Mgmt. + ALM 
21 Copyright ©2015 CollabNet, Inc. All Rights Reserved. 
 24/7 Support 
 Git/Gerrit Training 
 Standards-Compliance 
 Scalability 
 ALM Integration 
 History Protection 
 Code Quality 
 Advanced Git security 
 Git Projects organization 
 Code-review 
 Replication 
 Basic SCM features 
 jGit engine 
 Native engine 
 GitWeb 
Gerrit 
With TeamForge and Gerrit, Git is now ready for the enterprise. Realize all the 
benefits of Git, without compromising governance, security and compliance.
Git History Rewrite – Defined 
“We define History Rewrite as non-fast forward updates of remote 
refs and its associated objects. This happens whenever a branch in 
the remote repository gets deleted, previously pushed commits get 
amended/tree filtered and forcefully re-pushed, or a remote 
branch/tag is pointed to an entire different commit history.” 
22 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Git History Rewrite – Functionality in Detail 
Change log Change log after 
Commit #4 
Files Deleted 
File A Delete 
Commit #3 
Files modified 
File A modified 
Commit #2 
More files added 
File B Added 
Commit #1 
Initially files added 
File A added 
History Re-Write 
Commit #5 
More files added 
File X added 
Commit #1 
Initially files added 
File A added 
Commit #4 
Files Deleted 
File A Delete 
Commit #3 
Files modified 
File A modified 
Commit #2 
More files added 
File B Added 
Commit #1 
Initially files added 
File A added 
git clone 
Commit #4 
Files Deleted 
Commit #3 
Files modified 
Commit #2 
More files added 
Blessed 
Git Repo 
23 Copyright ©2015 CollabNet, Inc. All Rights Reserved. 
• No traces about deleted 
changes (commits & 
metadata associated, files, 
directories) 
• Periodic garbage collection 
will remove unreferenced 
commits soon and 
afterwards they can no 
longer be recovered 
Local git commit(s) 
Local 
Git Repo 
Developer 
Commit #1 
Initially files added 
File A added 
Developer 
Removes some 
files either 
by purpose or 
accidentally 
git push –f origin master 
Commit #5 
More files added 
File X added 
Commit #1 
Initially files added 
File A added
Git History Rewrite – No Traces Left Behind! 
Code Change History 
Removing top 6 
commits locally 
Creating new 
commit 
locally 
Pushing all 
changes to 
remote 
24 Copyright ©2015 CollabNet, Inc. All Rights Reserved. 
No traces about deleted 
6 commits in Web UI
Git History Rewrite – This Can Happen to You, Too! 
Single ‘space’ wipes entire history: 
– git push origin production-quick-fix:stable 
instead of 
– git push origin production-quick-fix :stable 
No traces left behind: 
– No alerts 
– No recovery (unless noticed quickly, via administrators) 
Happens even to the experts: 
– https://bugs.eclipse.org/bugs/show_bug.cgi?id=361707 
– Eclipse Foundation lost almost all their branches 
and tags accidentally, garbage collection pruned 
unreferenced commits, administrators had to ask 
developers for a recent local backup 
– http://jenkins-ci.org/content/summary-report-git-repository-disruption- 
incident-nov-10th 
– 186 repositories from Jenkins Open Source Project got reset on 
GitHub 
25 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Introducing Git History Protection 
Change log Change log after 
Commit #4 
Files Deleted 
File A Delete 
Commit #3 
Files modified 
File A modified 
Commit #2 
More files added 
File B Added 
Commit #1 
Initially files added 
File A added 
History Re-Write 
Commit #5 
More files added 
File X added 
Commit #1 
Initially files added 
File A added 
Commit #4 
Files Deleted 
File A Delete 
Commit #3 
Files modified 
File A modified 
Commit #2 
More files added 
File B Added 
Commit #1 
Initially files added 
File A added 
git clone 
1. Notification: Automatic e-mail 
2. Reporting: Temper-proof audit-trail 
Commit #4 
Files Deleted 
Commit #3 
Files modified 
Commit #2 
More files added 
Blessed 
Git Repo 
26 Copyright ©2015 CollabNet, Inc. All Rights Reserved. 
to administrators 
Local git commit(s) 
Local 
Git Repo 
Developer 
Commit #1 
Initially files added 
File A added 
Developer 
Removes some 
files either 
by purpose or 
accidentally 
TeamForge 
History Protect 
Detects 
Rewrite Event 
Commit #5 
More files added 
File X added 
Commit #1 
Initially files added 
File A added 
git push –f origin master 
(who, what, when) 
3. Recovery: Self-service 
resurrection of history rewrite 
TeamForge automatically secures history snapshots on ‘blessed’ master repository (under 
“refs/rewrite” or “refs/deleted”), for auditing & recovery.
TeamForge = Enterprise-Grade Git Mgmt. + ALM 
27 Copyright ©2015 CollabNet, Inc. All Rights Reserved. 
 24/7 Support 
 Git/Gerrit Training 
 Standards-Compliance 
 Scalability 
 ALM Integration 
 History Protection 
 Code Quality 
 Advanced Git security 
 Git Projects organization 
 Code-review 
 Replication 
 Basic SCM features 
 jGit engine 
 Native engine 
 GitWeb 
Gerrit 
With TeamForge and Gerrit, Git is now ready for the enterprise. Realize all the 
benefits of Git, without compromising governance, security and compliance.
Tackling half baked review requests: 
Marrying Gerrit and Jenkins 
CI Build: OK CI Build: OK 
A1 C2* 
28 Copyright ©2015 CollabNet, Inc. All Rights Reserved. 
mmaasstteerr 
A1 
local 
master 
Verified: -1 
(build failed) 
Verified: +1 
(build OK) 
C2 rreeffss//ffoorr//mmaasstteerr 
push 
C2 
C2* 
C2* 
push 
Reviewed: +2
Gerrit – Code Quality Gate Wizard – General Concept 
29 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Code Quality Gate Wizard 
Code Quality Gate Wizard for Gerrit (Gerrit 2.8+) 
– comes with a bunch of predefined policies and lets you graphically 
design your own quality gates as easy as defining email filter rules. 
– Examples: 
• Four-eye peer review 
• Legal has to approve copyright file changes 
• Senior staff has to approve the work of juniors 
• Democratic feature voting 
– More details under http://blogs.collab.net/git 
30 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Gerrit – Code Quality Gate Wizard – How to launch 
31 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Gerrit – Code Quality Gate Wizard – Predefined templates 
32 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Gerrit – Code Quality Gate Wizard – Built In Test Mode 
33 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Gerrit – Code Quality Gate Wizard – Based on existing changes 
34 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Gerrit – Code Quality Gate Wizard – Great Flexibility 
35 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
TeamForge = Enterprise-Grade Git Mgmt. + ALM 
36 Copyright ©2015 CollabNet, Inc. All Rights Reserved. 
 24/7 Support 
 Security 
 Standards-Compliance 
 Scalability 
 ALM Integration 
 History Protection 
 Code Quality 
 Advanced Git security 
 Git Projects organization 
 Code-review 
 Replication 
 Basic SCM features 
 jGit engine 
 Native engine 
 GitWeb 
Gerrit 
With TeamForge and Gerrit, Git is now ready for the enterprise. Realize all the 
benefits of Git, without compromising governance, security and compliance.
Learn More 
3-Minute Video on History Protection 
http://www.collab.net/products/teamforge/git-for-the-enterprise 
Git Blogs 
http://blogs.collab.net/git 
Software Downloads (TeamForge, Git + clients) 
http://www.collab.net/git 
37 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Q&A 
38 Copyright ©2015 CollabNet, Inc. All RRiigghhttss RReesseerrvveedd..
Feature deep dive: Simple RBAC 
Pre defined & user-defined categories 
 Default: All Gerrit review features are turned off 
 Mandatory Review: All code changes have to be reviewed 
 Optional Review: Review feature is turned on but can be bypassed if 
necessary 
 Custom: Access rights have to be set manually in Gerrit Web UI and will not be 
overridden by TeamForge 
 User-defined: Possibility to define your own access rights controlled by 
TeamForge 
39 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Git History Rewrite – Example: Accidental Branch Deletion 
Prepare a fix in local branch which is 
to be pushed to stable branch on 
remote. 
Use this syntax for PUSH to remote 
Typo in push command...(accidentially added a space) 
Results in branch deletion. No trace on Web UI on Git server 
side (stable branch got deleted) 
40 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Git History Protection – Alerting 
1. Notification: Automatic e-mail 
to administrators 
2. Reporting: Temper-proof 
audit-trail (who, what, when) 
3. Recovery: Self-service 
resurrection of history rewrite 
Whenever history gets ‘re-written’, an email gets sent out to 
‘Gerrit Administrators’ containing details about old HEAD of 
branch and new HEAD after ‘re-write’. 
41 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Git History Protection – Reporting (Audit Log) 
42 Copyright ©2015 CollabNet, Inc. All Rights Reserved. 
Audit Log containing all 
History Rewrite Events is 
accessible through 
TeamForge Web UI 
1. Notification: Automatic e-mail 
to administrators 
2. Reporting: Temper-proof 
audit-trail (who, what, when) 
3. Recovery: Self-service 
resurrection of history rewrite
Git History Protection – Reporting (Web UI) 
1. Notification: Automatic e-mail 
to administrators 
2. Reporting: Temper-proof 
audit-trail (who, what, when) 
3. Recovery: Self-service 
resurrection of history rewrite 
43 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Git History Protection – Reporting (Command Line) 
1. Notification: Automatic e-mail 
to administrators 
2. Reporting: Temper-proof 
audit-trail (who, what, when) 
3. Recovery: Self-service 
resurrection of history rewrite 
44 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Git History Protection – Reporting (Eclipse) 
1. Notification: Automatic e-mail 
to administrators 
2. Reporting: Temper-proof 
audit-trail (who, what, when) 
3. Recovery: Self-service 
resurrection of history rewrite 
45 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Git History Protection – Recovery (Web UI) 
1. Notification: Automatic e-mail 
to administrators 
2. Reporting: Temper-proof 
audit-trail (who, what, when) 
3. Recovery: Self-service 
resurrection of history rewrite 
46 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Git History Protection – Recovery (Command Line) 
1. Notification: Automatic e-mail 
to administrators 
2. Reporting: Temper-proof 
audit-trail (who, what, when) 
3. Recovery: Self-service 
resurrection of history rewrite 
Run this command on git 1 
command line 
Copy HEAD SHA1 of branch 2 
created after history ’re-write’ 
3 
Fetch SHA1 of rewritten history 
from server 
Use copied SHA1 to create new 
local branch in Git 
Push this local branch to remote 
‘blessed reposiotry’ 
Alternatively users having permissions 
to create a new branch can restore 
history by using their git client 
Resurrected branch via command line is now available for all 
user having atleast read access(view only) for this Git repository 
4 
5 
47 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Git History Protection – Administration 
Gerrit Config-Option allows you to protect all Git repositories hosted by TeamForge: Not even TeamForge Site 
Admins can override 
48 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Git History Rewrite – Why Blocking is NOT the Answer 
Legitimate use cases 
– Developers 
• Deleting accidently committed file(s)/change(s) 
• Change appearance of commits 
– squashing multiple commits into unified single commit 
– change order of commits 
– Build / Release managers / Developers 
• Removing Copyrights/ Intellectual Property(IP) 
related resources from code base 
• Removing large file(s) 
• Removing feature branch(es) created 
temporarily and already merged 
Not (so) Legitimate use cases 
– Developers / Build / Release Managers 
• Remove somebody else’s changes without leaving any trace 
• Pretending someone else’s change as own (forgery) 
• Accidentally removing branches 
49 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Git History Rewrite – Why Blocking is NOT the Answer 
Legitimate use cases 
– Developers 
• Deleting accidently committed file(s)/change(s) 
• Change appearance of commits 
– squashing multiple commits into unified single commit 
– change order of commits 
– Build / Release managers / Developers 
• Removing Copyrights/ Intellectual Property(IP) 
related resources from code base 
• Removing large file(s) 
• Removing feature branch(es) created 
temporarily and already merged 
Not (so) Legitimate use cases 
– Developers / Build / Release Managers 
• Remove somebody else’s changes without leaving any trace 
• Pretending someone else’s change as own (forgery) 
• Accidentally removing branches 
50 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Git History Rewrite – Why Blocking is NOT the Answer 
Legitimate use cases 
– Developers 
• Deleting accidently committed file(s)/change(s) 
• Change appearance of commits 
– squashing multiple commits into unified single commit 
– change order of commits 
– Build / Release managers / Developers 
• Removing Copyrights/ Intellectual Property(IP) 
related resources from code base 
• Removing large file(s) 
• Removing feature branch(es) created 
temporarily and already merged 
Not (so) Legitimate use cases 
– Developers / Build / Release Managers 
• Remove somebody else’s changes without leaving any trace 
• Pretending someone else’s change as own (forgery) 
• Accidentally removing branches 
51 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Git History Protection - Summary 
• TeamForge + Gerrit is a powerful foundation for Enterprise Git 
• Git History Rewrite covers branch deletions and forced pushes, 
two very powerful, often needed but quite dangerous 
operations which might lead to data loss and tampering 
• TeamForge 6.2 with Gerrit introduced History Protection 
• History protection ensures that potentially unnoticed events, 
such as remote branch deletions and forced pushes, are now 
detected and fully recoverable, any modifications to Git code 
and repositories are securely recorded with tamper-proof audit 
logs 
• Recovery is possible from a Web interface at the push of a 
button, and using an ordinary Git client, IT operations teams 
don’t have to be involved 
52 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Feature deep dive: Notifications 
Motivation: 
Bring the git push notifications mechanism from the gitmultimail 
script to TeamForge 
53 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Feature deep dive: Notifications 
54 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Appendix – History Rewrite, versus Git Reflog 
Git reflog 
TeamForge 
Git Integration with ‘History Protect’ 
Accessibility 
Requires direct access to file system on server where ‘blessed Git 
repository’ is hosted which is very unlikely in huge organizations 
and will keep the server administrators busy 
‘Self –Service’ approach. Users with appropriate permissions in 
TeamForge can find out/resurrect deleted/rewritten branches by 
themselves, decreasing work load of server administrators. 
Gerrit Administrators can also permanently delete selected 
branches/tags. 
Signal-to- Noise Ratio 
reflog records <all> changes in the repository 
• Any push (also ordinary fast forward) 
• Any merge 
• Any Branch creation/deletion 
• Any Tag creation / deletion 
Finding out about history rewrites/deleted branches is like 
searching for a needle in a haystack 
History Protect only reports 
• Deleted branches/tags 
• History rewrites (non fast forward pushes) 
Notification 
No notification • Email to Gerrit Administrators 
• Audit log entry whenever branch/tags gets 
55 Copyright ©2015 CollabNet, Inc. All Rights Reserved. 
• Deleted 
• Re-written (non fast forward) 
• Resurrected 
• Permanently deleted 
Ease of use 
• Only manually configurable by administrator having file system 
access 
• To be configured for each and every repository 
• Restoring requires running git commands on server 
• Pre-configured in TeamForge/Gerrit 
• Configurable for all repositories by setting site-wide config 
option or on a per repository basis 
• User with appropriate permission can restore history using 
GerritWebUI / Git client 
Protection against object 
pruning/reflog expiration 
RefLog expiration and gc pruning settings have to be manually 
configured by server administrator. Only possibility to not lose 
commits no longer referenced in a branch is to set both values to 
<unlimited> which will consume huge amounts of disk space, slows 
down garbage collection and does not allow to permanently delete 
specific commits (all or nothing). 
Preserved commits will never pruned by garbage collection unless 
permanently removed using GerritWeb UI. 
No need to keep a large ref log. Garbage collection will run faster 
since all commits are still referenced in the repo.

Mais conteúdo relacionado

Mais procurados

Cloud Native Engineering with SRE and GitOps
Cloud Native Engineering with SRE and GitOpsCloud Native Engineering with SRE and GitOps
Cloud Native Engineering with SRE and GitOpsWeaveworks
 
Achieve Data & Operational Sovereignty: Managing Hybrid & Edge EKS Deployment...
Achieve Data & Operational Sovereignty: Managing Hybrid & Edge EKS Deployment...Achieve Data & Operational Sovereignty: Managing Hybrid & Edge EKS Deployment...
Achieve Data & Operational Sovereignty: Managing Hybrid & Edge EKS Deployment...Weaveworks
 
Hands-on GitOps Patterns for Helm Users
Hands-on GitOps Patterns for Helm UsersHands-on GitOps Patterns for Helm Users
Hands-on GitOps Patterns for Helm UsersWeaveworks
 
Perforce helix git swarm jan 2016(pva1) meetup
Perforce helix git swarm jan 2016(pva1) meetupPerforce helix git swarm jan 2016(pva1) meetup
Perforce helix git swarm jan 2016(pva1) meetupdsdata systems
 
Perforce Helix Git Swarm: Enterprise Git Ecosystem
Perforce Helix Git Swarm: Enterprise Git EcosystemPerforce Helix Git Swarm: Enterprise Git Ecosystem
Perforce Helix Git Swarm: Enterprise Git EcosystemPerforce
 
Code Management and Promotion (DDT) - Jason Cornell - ManageIQ Design Summit ...
Code Management and Promotion (DDT) - Jason Cornell - ManageIQ Design Summit ...Code Management and Promotion (DDT) - Jason Cornell - ManageIQ Design Summit ...
Code Management and Promotion (DDT) - Jason Cornell - ManageIQ Design Summit ...ManageIQ
 
Version control with git
Version control with gitVersion control with git
Version control with gitPurav Gandhi
 
Setting up Notifications, Alerts & Webhooks with Flux v2 by Alison Dowdney
Setting up Notifications, Alerts & Webhooks with Flux v2 by Alison DowdneySetting up Notifications, Alerts & Webhooks with Flux v2 by Alison Dowdney
Setting up Notifications, Alerts & Webhooks with Flux v2 by Alison DowdneyWeaveworks
 
Gitora, Version Control for PL/SQL
Gitora, Version Control for PL/SQLGitora, Version Control for PL/SQL
Gitora, Version Control for PL/SQLGerger
 
Git in the Enterprise: How to succeed at DevOps using Git and a monorepo
Git in the Enterprise: How to succeed at DevOps using Git and a monorepoGit in the Enterprise: How to succeed at DevOps using Git and a monorepo
Git in the Enterprise: How to succeed at DevOps using Git and a monorepoGina Bustos
 
Jfrog artifactory artifact management c tamilmaran presentation - copy
Jfrog artifactory artifact management c tamilmaran presentation - copyJfrog artifactory artifact management c tamilmaran presentation - copy
Jfrog artifactory artifact management c tamilmaran presentation - copyTAMILMARAN C
 
Introducing Gitora,the version control tool for PL/SQL
Introducing Gitora,the version control tool for PL/SQLIntroducing Gitora,the version control tool for PL/SQL
Introducing Gitora,the version control tool for PL/SQLGerger
 
DevOps with OpenShift - Fabien Dupont - ManageIQ Design Summit 2016
DevOps with OpenShift - Fabien Dupont - ManageIQ Design Summit 2016DevOps with OpenShift - Fabien Dupont - ManageIQ Design Summit 2016
DevOps with OpenShift - Fabien Dupont - ManageIQ Design Summit 2016ManageIQ
 
Continuous Delivery NYC: From GitOps to an adaptable CI/CD Pattern for Kubern...
Continuous Delivery NYC: From GitOps to an adaptable CI/CD Pattern for Kubern...Continuous Delivery NYC: From GitOps to an adaptable CI/CD Pattern for Kubern...
Continuous Delivery NYC: From GitOps to an adaptable CI/CD Pattern for Kubern...Andrew Phillips
 
Git Everyday
Git EverydayGit Everyday
Git EverydayPerforce
 
Advanced GitHub Enterprise Administration
Advanced GitHub Enterprise AdministrationAdvanced GitHub Enterprise Administration
Advanced GitHub Enterprise AdministrationLars Schneider
 
DevOps Spain 2019. Beatriz Martínez-IBM
DevOps Spain 2019. Beatriz Martínez-IBMDevOps Spain 2019. Beatriz Martínez-IBM
DevOps Spain 2019. Beatriz Martínez-IBMatSistemas
 
AzureDay Kyiv 2016 Release Management
AzureDay Kyiv 2016 Release ManagementAzureDay Kyiv 2016 Release Management
AzureDay Kyiv 2016 Release ManagementSergii Kryshtop
 

Mais procurados (20)

Cloud Native Engineering with SRE and GitOps
Cloud Native Engineering with SRE and GitOpsCloud Native Engineering with SRE and GitOps
Cloud Native Engineering with SRE and GitOps
 
Achieve Data & Operational Sovereignty: Managing Hybrid & Edge EKS Deployment...
Achieve Data & Operational Sovereignty: Managing Hybrid & Edge EKS Deployment...Achieve Data & Operational Sovereignty: Managing Hybrid & Edge EKS Deployment...
Achieve Data & Operational Sovereignty: Managing Hybrid & Edge EKS Deployment...
 
Hands-on GitOps Patterns for Helm Users
Hands-on GitOps Patterns for Helm UsersHands-on GitOps Patterns for Helm Users
Hands-on GitOps Patterns for Helm Users
 
Perforce helix git swarm jan 2016(pva1) meetup
Perforce helix git swarm jan 2016(pva1) meetupPerforce helix git swarm jan 2016(pva1) meetup
Perforce helix git swarm jan 2016(pva1) meetup
 
Perforce Helix Git Swarm: Enterprise Git Ecosystem
Perforce Helix Git Swarm: Enterprise Git EcosystemPerforce Helix Git Swarm: Enterprise Git Ecosystem
Perforce Helix Git Swarm: Enterprise Git Ecosystem
 
Code Management and Promotion (DDT) - Jason Cornell - ManageIQ Design Summit ...
Code Management and Promotion (DDT) - Jason Cornell - ManageIQ Design Summit ...Code Management and Promotion (DDT) - Jason Cornell - ManageIQ Design Summit ...
Code Management and Promotion (DDT) - Jason Cornell - ManageIQ Design Summit ...
 
Version control with git
Version control with gitVersion control with git
Version control with git
 
Setting up Notifications, Alerts & Webhooks with Flux v2 by Alison Dowdney
Setting up Notifications, Alerts & Webhooks with Flux v2 by Alison DowdneySetting up Notifications, Alerts & Webhooks with Flux v2 by Alison Dowdney
Setting up Notifications, Alerts & Webhooks with Flux v2 by Alison Dowdney
 
Gitora, Version Control for PL/SQL
Gitora, Version Control for PL/SQLGitora, Version Control for PL/SQL
Gitora, Version Control for PL/SQL
 
Git in the Enterprise: How to succeed at DevOps using Git and a monorepo
Git in the Enterprise: How to succeed at DevOps using Git and a monorepoGit in the Enterprise: How to succeed at DevOps using Git and a monorepo
Git in the Enterprise: How to succeed at DevOps using Git and a monorepo
 
Git Tutorial
Git Tutorial Git Tutorial
Git Tutorial
 
Jfrog artifactory artifact management c tamilmaran presentation - copy
Jfrog artifactory artifact management c tamilmaran presentation - copyJfrog artifactory artifact management c tamilmaran presentation - copy
Jfrog artifactory artifact management c tamilmaran presentation - copy
 
Introducing Gitora,the version control tool for PL/SQL
Introducing Gitora,the version control tool for PL/SQLIntroducing Gitora,the version control tool for PL/SQL
Introducing Gitora,the version control tool for PL/SQL
 
DevOps with OpenShift - Fabien Dupont - ManageIQ Design Summit 2016
DevOps with OpenShift - Fabien Dupont - ManageIQ Design Summit 2016DevOps with OpenShift - Fabien Dupont - ManageIQ Design Summit 2016
DevOps with OpenShift - Fabien Dupont - ManageIQ Design Summit 2016
 
Continuous Delivery NYC: From GitOps to an adaptable CI/CD Pattern for Kubern...
Continuous Delivery NYC: From GitOps to an adaptable CI/CD Pattern for Kubern...Continuous Delivery NYC: From GitOps to an adaptable CI/CD Pattern for Kubern...
Continuous Delivery NYC: From GitOps to an adaptable CI/CD Pattern for Kubern...
 
Giddy Up on GitHub
Giddy Up on GitHubGiddy Up on GitHub
Giddy Up on GitHub
 
Git Everyday
Git EverydayGit Everyday
Git Everyday
 
Advanced GitHub Enterprise Administration
Advanced GitHub Enterprise AdministrationAdvanced GitHub Enterprise Administration
Advanced GitHub Enterprise Administration
 
DevOps Spain 2019. Beatriz Martínez-IBM
DevOps Spain 2019. Beatriz Martínez-IBMDevOps Spain 2019. Beatriz Martínez-IBM
DevOps Spain 2019. Beatriz Martínez-IBM
 
AzureDay Kyiv 2016 Release Management
AzureDay Kyiv 2016 Release ManagementAzureDay Kyiv 2016 Release Management
AzureDay Kyiv 2016 Release Management
 

Destaque

Using Git/Gerrit and Jenkins to Manage the Code Review Processord
Using Git/Gerrit and Jenkins to Manage the Code Review ProcessordUsing Git/Gerrit and Jenkins to Manage the Code Review Processord
Using Git/Gerrit and Jenkins to Manage the Code Review ProcessordMarc Karasek
 
How Git and Gerrit make you more productive
How Git and Gerrit make you more productiveHow Git and Gerrit make you more productive
How Git and Gerrit make you more productiveKarsten Dambekalns
 
Large Scale Development with Git and Gerrit - EclipseCon Europe 2012
Large Scale Development with Git and Gerrit - EclipseCon Europe 2012Large Scale Development with Git and Gerrit - EclipseCon Europe 2012
Large Scale Development with Git and Gerrit - EclipseCon Europe 2012msohn
 
Don't Let Git Get Your Goat!
Don't Let Git Get Your Goat!Don't Let Git Get Your Goat!
Don't Let Git Get Your Goat!CollabNet
 
Introducing CollabNet TeamForge® 8.0
Introducing CollabNet TeamForge® 8.0Introducing CollabNet TeamForge® 8.0
Introducing CollabNet TeamForge® 8.0CollabNet
 
Gerrit Code Review - The Introduction
Gerrit Code Review - The IntroductionGerrit Code Review - The Introduction
Gerrit Code Review - The IntroductionDariusz Łuksza
 
Gerrit & Jenkins Workflow: An Integrated CI Demonstration
Gerrit & Jenkins Workflow: An Integrated CI DemonstrationGerrit & Jenkins Workflow: An Integrated CI Demonstration
Gerrit & Jenkins Workflow: An Integrated CI Demonstrationvanoorts
 
Enterprise Git Adoption Webinar - German
Enterprise Git Adoption Webinar - GermanEnterprise Git Adoption Webinar - German
Enterprise Git Adoption Webinar - GermanCollabNet
 
Zero-Downtime Gerrit Code Review Upgrade
Zero-Downtime Gerrit Code Review UpgradeZero-Downtime Gerrit Code Review Upgrade
Zero-Downtime Gerrit Code Review UpgradeLuca Milanesio
 
Gerrit Code Review Analytics
Gerrit Code Review AnalyticsGerrit Code Review Analytics
Gerrit Code Review AnalyticsLuca Milanesio
 
Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...
Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...
Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...DevOps4Networks
 
Introduction To Jira
Introduction To JiraIntroduction To Jira
Introduction To JiraHua Soon Sim
 

Destaque (13)

Using Git/Gerrit and Jenkins to Manage the Code Review Processord
Using Git/Gerrit and Jenkins to Manage the Code Review ProcessordUsing Git/Gerrit and Jenkins to Manage the Code Review Processord
Using Git/Gerrit and Jenkins to Manage the Code Review Processord
 
How Git and Gerrit make you more productive
How Git and Gerrit make you more productiveHow Git and Gerrit make you more productive
How Git and Gerrit make you more productive
 
Large Scale Development with Git and Gerrit - EclipseCon Europe 2012
Large Scale Development with Git and Gerrit - EclipseCon Europe 2012Large Scale Development with Git and Gerrit - EclipseCon Europe 2012
Large Scale Development with Git and Gerrit - EclipseCon Europe 2012
 
Don't Let Git Get Your Goat!
Don't Let Git Get Your Goat!Don't Let Git Get Your Goat!
Don't Let Git Get Your Goat!
 
Introducing CollabNet TeamForge® 8.0
Introducing CollabNet TeamForge® 8.0Introducing CollabNet TeamForge® 8.0
Introducing CollabNet TeamForge® 8.0
 
Gerrit Code Review - The Introduction
Gerrit Code Review - The IntroductionGerrit Code Review - The Introduction
Gerrit Code Review - The Introduction
 
Gerrit & Jenkins Workflow: An Integrated CI Demonstration
Gerrit & Jenkins Workflow: An Integrated CI DemonstrationGerrit & Jenkins Workflow: An Integrated CI Demonstration
Gerrit & Jenkins Workflow: An Integrated CI Demonstration
 
Enterprise Git Adoption Webinar - German
Enterprise Git Adoption Webinar - GermanEnterprise Git Adoption Webinar - German
Enterprise Git Adoption Webinar - German
 
Zero-Downtime Gerrit Code Review Upgrade
Zero-Downtime Gerrit Code Review UpgradeZero-Downtime Gerrit Code Review Upgrade
Zero-Downtime Gerrit Code Review Upgrade
 
Git collaboration
Git collaborationGit collaboration
Git collaboration
 
Gerrit Code Review Analytics
Gerrit Code Review AnalyticsGerrit Code Review Analytics
Gerrit Code Review Analytics
 
Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...
Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...
Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...
 
Introduction To Jira
Introduction To JiraIntroduction To Jira
Introduction To Jira
 

Semelhante a Git Gerrit Mit Teamforge

Optimize Your Enterprise Git Webinar
Optimize Your Enterprise Git WebinarOptimize Your Enterprise Git Webinar
Optimize Your Enterprise Git WebinarCollabNet
 
Expedite Enterprise Software Development with JIRA®, TeamForge® SCM, and Jenkins
Expedite Enterprise Software Development with JIRA®, TeamForge® SCM, and JenkinsExpedite Enterprise Software Development with JIRA®, TeamForge® SCM, and Jenkins
Expedite Enterprise Software Development with JIRA®, TeamForge® SCM, and JenkinsCollabNet
 
Intro to GitOps with Weave GitOps, Flagger and Linkerd
Intro to GitOps with Weave GitOps, Flagger and LinkerdIntro to GitOps with Weave GitOps, Flagger and Linkerd
Intro to GitOps with Weave GitOps, Flagger and LinkerdWeaveworks
 
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the EnterpriseBetter, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the EnterprisePerforce
 
DevOps and Git: Solving for CI/CD at Scale
DevOps and Git: Solving for CI/CD at ScaleDevOps and Git: Solving for CI/CD at Scale
DevOps and Git: Solving for CI/CD at ScalePerforce
 
Webinar: Capabilities, Confidence and Community – What Flux GA Means for You
Webinar: Capabilities, Confidence and Community – What Flux GA Means for YouWebinar: Capabilities, Confidence and Community – What Flux GA Means for You
Webinar: Capabilities, Confidence and Community – What Flux GA Means for YouWeaveworks
 
Cloud Native Apps with GitOps
Cloud Native Apps with GitOps Cloud Native Apps with GitOps
Cloud Native Apps with GitOps Weaveworks
 
[Perforce] Git Fusion
[Perforce] Git Fusion[Perforce] Git Fusion
[Perforce] Git FusionPerforce
 
Using Git with Rational Team Concert and Rational ClearCase in enterprise env...
Using Git with Rational Team Concert and Rational ClearCase in enterprise env...Using Git with Rational Team Concert and Rational ClearCase in enterprise env...
Using Git with Rational Team Concert and Rational ClearCase in enterprise env...Bartosz Chrabski
 
Lyra Infosystems - GitLab Overview Deck 2020
Lyra Infosystems - GitLab Overview Deck 2020Lyra Infosystems - GitLab Overview Deck 2020
Lyra Infosystems - GitLab Overview Deck 2020Lyra Infosystems Pvt. Ltd
 
Continuous Security for GitOps
Continuous Security for GitOpsContinuous Security for GitOps
Continuous Security for GitOpsWeaveworks
 
2015-ghci-presentation-git_gerritJenkins_final
2015-ghci-presentation-git_gerritJenkins_final2015-ghci-presentation-git_gerritJenkins_final
2015-ghci-presentation-git_gerritJenkins_finalMythri P K
 
Robust Network Security and Observability with GitOps and Cilium
Robust Network Security and Observability with GitOps and CiliumRobust Network Security and Observability with GitOps and Cilium
Robust Network Security and Observability with GitOps and CiliumWeaveworks
 
Empowering developers and operators through Gitlab and HashiCorp
Empowering developers and operators through Gitlab and HashiCorpEmpowering developers and operators through Gitlab and HashiCorp
Empowering developers and operators through Gitlab and HashiCorpMitchell Pronschinske
 
Git ops & Continuous Infrastructure with terra*
Git ops  & Continuous Infrastructure with terra*Git ops  & Continuous Infrastructure with terra*
Git ops & Continuous Infrastructure with terra*Haggai Philip Zagury
 
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...Weaveworks
 

Semelhante a Git Gerrit Mit Teamforge (20)

Optimize Your Enterprise Git Webinar
Optimize Your Enterprise Git WebinarOptimize Your Enterprise Git Webinar
Optimize Your Enterprise Git Webinar
 
Expedite Enterprise Software Development with JIRA®, TeamForge® SCM, and Jenkins
Expedite Enterprise Software Development with JIRA®, TeamForge® SCM, and JenkinsExpedite Enterprise Software Development with JIRA®, TeamForge® SCM, and Jenkins
Expedite Enterprise Software Development with JIRA®, TeamForge® SCM, and Jenkins
 
Intro to GitOps with Weave GitOps, Flagger and Linkerd
Intro to GitOps with Weave GitOps, Flagger and LinkerdIntro to GitOps with Weave GitOps, Flagger and Linkerd
Intro to GitOps with Weave GitOps, Flagger and Linkerd
 
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the EnterpriseBetter, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
 
DevOps and Git: Solving for CI/CD at Scale
DevOps and Git: Solving for CI/CD at ScaleDevOps and Git: Solving for CI/CD at Scale
DevOps and Git: Solving for CI/CD at Scale
 
Webinar: Capabilities, Confidence and Community – What Flux GA Means for You
Webinar: Capabilities, Confidence and Community – What Flux GA Means for YouWebinar: Capabilities, Confidence and Community – What Flux GA Means for You
Webinar: Capabilities, Confidence and Community – What Flux GA Means for You
 
Git SVN Migrate Reasons
Git SVN Migrate ReasonsGit SVN Migrate Reasons
Git SVN Migrate Reasons
 
Cloud Native Apps with GitOps
Cloud Native Apps with GitOps Cloud Native Apps with GitOps
Cloud Native Apps with GitOps
 
Git for Windows
Git for WindowsGit for Windows
Git for Windows
 
[Perforce] Git Fusion
[Perforce] Git Fusion[Perforce] Git Fusion
[Perforce] Git Fusion
 
Using Git with Rational Team Concert and Rational ClearCase in enterprise env...
Using Git with Rational Team Concert and Rational ClearCase in enterprise env...Using Git with Rational Team Concert and Rational ClearCase in enterprise env...
Using Git with Rational Team Concert and Rational ClearCase in enterprise env...
 
Lyra Infosystems - GitLab Overview Deck 2020
Lyra Infosystems - GitLab Overview Deck 2020Lyra Infosystems - GitLab Overview Deck 2020
Lyra Infosystems - GitLab Overview Deck 2020
 
Introduction to git & github
Introduction to git & githubIntroduction to git & github
Introduction to git & github
 
Continuous Security for GitOps
Continuous Security for GitOpsContinuous Security for GitOps
Continuous Security for GitOps
 
2015-ghci-presentation-git_gerritJenkins_final
2015-ghci-presentation-git_gerritJenkins_final2015-ghci-presentation-git_gerritJenkins_final
2015-ghci-presentation-git_gerritJenkins_final
 
Git session 1
Git session 1Git session 1
Git session 1
 
Robust Network Security and Observability with GitOps and Cilium
Robust Network Security and Observability with GitOps and CiliumRobust Network Security and Observability with GitOps and Cilium
Robust Network Security and Observability with GitOps and Cilium
 
Empowering developers and operators through Gitlab and HashiCorp
Empowering developers and operators through Gitlab and HashiCorpEmpowering developers and operators through Gitlab and HashiCorp
Empowering developers and operators through Gitlab and HashiCorp
 
Git ops & Continuous Infrastructure with terra*
Git ops  & Continuous Infrastructure with terra*Git ops  & Continuous Infrastructure with terra*
Git ops & Continuous Infrastructure with terra*
 
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
 

Mais de CollabNet

TeamForge Overview Webinar (10/5/16)
TeamForge Overview Webinar (10/5/16)TeamForge Overview Webinar (10/5/16)
TeamForge Overview Webinar (10/5/16)CollabNet
 
TeamForge Overview Webinar (9/21)
TeamForge Overview Webinar (9/21)TeamForge Overview Webinar (9/21)
TeamForge Overview Webinar (9/21)CollabNet
 
Modernize Development with Agile Engineering Practices
Modernize Development with Agile Engineering PracticesModernize Development with Agile Engineering Practices
Modernize Development with Agile Engineering PracticesCollabNet
 
Migrating from ClearCase
Migrating from ClearCaseMigrating from ClearCase
Migrating from ClearCaseCollabNet
 
TeamForge Overview Webinar (8/24)
TeamForge Overview Webinar (8/24)TeamForge Overview Webinar (8/24)
TeamForge Overview Webinar (8/24)CollabNet
 
2016 Federal User Group Conference - What's New in TeamForge
2016 Federal User Group Conference - What's New in TeamForge2016 Federal User Group Conference - What's New in TeamForge
2016 Federal User Group Conference - What's New in TeamForgeCollabNet
 
2016 Federal User Group Conference - TeamForge Capabilities and Directions
2016 Federal User Group Conference - TeamForge Capabilities and Directions2016 Federal User Group Conference - TeamForge Capabilities and Directions
2016 Federal User Group Conference - TeamForge Capabilities and DirectionsCollabNet
 
2016 Federal User Group Conference - DevOps Product Strategy
2016 Federal User Group Conference - DevOps Product Strategy2016 Federal User Group Conference - DevOps Product Strategy
2016 Federal User Group Conference - DevOps Product StrategyCollabNet
 
CollabNet TeamForge 8.1 Webinar
CollabNet TeamForge 8.1 WebinarCollabNet TeamForge 8.1 Webinar
CollabNet TeamForge 8.1 WebinarCollabNet
 
Compliance and Governance Webinar
Compliance and Governance WebinarCompliance and Governance Webinar
Compliance and Governance WebinarCollabNet
 
Hybrid Development Webinar - English
Hybrid Development Webinar - EnglishHybrid Development Webinar - English
Hybrid Development Webinar - EnglishCollabNet
 
Agile Upstream and Downstream Webinar - English
Agile Upstream and Downstream Webinar - EnglishAgile Upstream and Downstream Webinar - English
Agile Upstream and Downstream Webinar - EnglishCollabNet
 
SCM Migration Webinar - English
SCM Migration Webinar - EnglishSCM Migration Webinar - English
SCM Migration Webinar - EnglishCollabNet
 
Vorstellung von CollabNet TeamForge 8.0 (German)
Vorstellung von CollabNet TeamForge 8.0 (German)Vorstellung von CollabNet TeamForge 8.0 (German)
Vorstellung von CollabNet TeamForge 8.0 (German)CollabNet
 
CollabNet TeamForge 8.0 简介 (Chinese)
CollabNet TeamForge 8.0 简介 (Chinese)CollabNet TeamForge 8.0 简介 (Chinese)
CollabNet TeamForge 8.0 简介 (Chinese)CollabNet
 
Metrics to Power DevOps
Metrics to Power DevOpsMetrics to Power DevOps
Metrics to Power DevOpsCollabNet
 
Enterprise CI as-a-Service using Jenkins
Enterprise CI as-a-Service using JenkinsEnterprise CI as-a-Service using Jenkins
Enterprise CI as-a-Service using JenkinsCollabNet
 
Testlink Test Management with Teamforge
Testlink Test Management with TeamforgeTestlink Test Management with Teamforge
Testlink Test Management with TeamforgeCollabNet
 
Linking Upstream and Downstream Agile
Linking Upstream and Downstream AgileLinking Upstream and Downstream Agile
Linking Upstream and Downstream AgileCollabNet
 
A blueprint for enterprise agility
A blueprint for enterprise agilityA blueprint for enterprise agility
A blueprint for enterprise agilityCollabNet
 

Mais de CollabNet (20)

TeamForge Overview Webinar (10/5/16)
TeamForge Overview Webinar (10/5/16)TeamForge Overview Webinar (10/5/16)
TeamForge Overview Webinar (10/5/16)
 
TeamForge Overview Webinar (9/21)
TeamForge Overview Webinar (9/21)TeamForge Overview Webinar (9/21)
TeamForge Overview Webinar (9/21)
 
Modernize Development with Agile Engineering Practices
Modernize Development with Agile Engineering PracticesModernize Development with Agile Engineering Practices
Modernize Development with Agile Engineering Practices
 
Migrating from ClearCase
Migrating from ClearCaseMigrating from ClearCase
Migrating from ClearCase
 
TeamForge Overview Webinar (8/24)
TeamForge Overview Webinar (8/24)TeamForge Overview Webinar (8/24)
TeamForge Overview Webinar (8/24)
 
2016 Federal User Group Conference - What's New in TeamForge
2016 Federal User Group Conference - What's New in TeamForge2016 Federal User Group Conference - What's New in TeamForge
2016 Federal User Group Conference - What's New in TeamForge
 
2016 Federal User Group Conference - TeamForge Capabilities and Directions
2016 Federal User Group Conference - TeamForge Capabilities and Directions2016 Federal User Group Conference - TeamForge Capabilities and Directions
2016 Federal User Group Conference - TeamForge Capabilities and Directions
 
2016 Federal User Group Conference - DevOps Product Strategy
2016 Federal User Group Conference - DevOps Product Strategy2016 Federal User Group Conference - DevOps Product Strategy
2016 Federal User Group Conference - DevOps Product Strategy
 
CollabNet TeamForge 8.1 Webinar
CollabNet TeamForge 8.1 WebinarCollabNet TeamForge 8.1 Webinar
CollabNet TeamForge 8.1 Webinar
 
Compliance and Governance Webinar
Compliance and Governance WebinarCompliance and Governance Webinar
Compliance and Governance Webinar
 
Hybrid Development Webinar - English
Hybrid Development Webinar - EnglishHybrid Development Webinar - English
Hybrid Development Webinar - English
 
Agile Upstream and Downstream Webinar - English
Agile Upstream and Downstream Webinar - EnglishAgile Upstream and Downstream Webinar - English
Agile Upstream and Downstream Webinar - English
 
SCM Migration Webinar - English
SCM Migration Webinar - EnglishSCM Migration Webinar - English
SCM Migration Webinar - English
 
Vorstellung von CollabNet TeamForge 8.0 (German)
Vorstellung von CollabNet TeamForge 8.0 (German)Vorstellung von CollabNet TeamForge 8.0 (German)
Vorstellung von CollabNet TeamForge 8.0 (German)
 
CollabNet TeamForge 8.0 简介 (Chinese)
CollabNet TeamForge 8.0 简介 (Chinese)CollabNet TeamForge 8.0 简介 (Chinese)
CollabNet TeamForge 8.0 简介 (Chinese)
 
Metrics to Power DevOps
Metrics to Power DevOpsMetrics to Power DevOps
Metrics to Power DevOps
 
Enterprise CI as-a-Service using Jenkins
Enterprise CI as-a-Service using JenkinsEnterprise CI as-a-Service using Jenkins
Enterprise CI as-a-Service using Jenkins
 
Testlink Test Management with Teamforge
Testlink Test Management with TeamforgeTestlink Test Management with Teamforge
Testlink Test Management with Teamforge
 
Linking Upstream and Downstream Agile
Linking Upstream and Downstream AgileLinking Upstream and Downstream Agile
Linking Upstream and Downstream Agile
 
A blueprint for enterprise agility
A blueprint for enterprise agilityA blueprint for enterprise agility
A blueprint for enterprise agility
 

Último

A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 

Último (20)

A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 

Git Gerrit Mit Teamforge

  • 1. Miteinander weiterdenken. Richard Mayr Johannes Nicolai 1 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
  • 2. Ein Produkt ist noch keine Lösung. ALM-Leistungsportfolio • Produktauswahl • Implementation • Migration • Integration • Prozesse und Automatisation 2 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
  • 3. Wir implementieren ALM. Als ALM-Solution-Provider betreuen wir • -über 110 Kunden • -über 25.000 Anwender • -aus allen Branchen • Allianz Versicherung • Alstom • Andritz • BASF • Continentale • DAF • Daimler • Deutsche Post • HAVI Logistics • Lear • Merck • Mettler Toledo • Palfinger • TNT Express • T-Systems • u.v.m. 3 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
  • 4. Git/Gerrit with TeamForge Secure, Scalable, Standards-Compliant for the Enterprise Johannes Nicolai Director of Engineering CollabNet 4 Copyright ©2015 CollabNet, Inc. All ENTERPRISE CLOUD DEVELOPMENT Rights Reserved.
  • 5. Agenda • Introduction to Git, Gerrit and Jenkins • Git/Gerrit’s Place in the TeamForge Universe – Traceability – Searchability – Scalability – Security • Gerrit Signature Features – History Protection – Code Quality Gates • Q & A 5 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
  • 6. Introduction of Technologies • Git – Most popular emerging distributed SCM • Jenkins – Most popular open source Continuous Integration • Gerrit Code Review – Widely used code-review tool and Git server backend • CollabNet TeamForge® – Provides an unparalleled smooth integration of all these tools into your software development process 6 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
  • 7. Git = Leading DVCS (Distributed Version Control System) • Open source distributed SCM, used notably by: – Linux (it was originally developed for that very purpose) – Eclipse foundation – Android (based on Gerrit Code Review) • Why Git? – All operations are local • Search, log, history, branching and merging • Offline development is possible – Powerful merging strategies (merge, rebase, cherry-pick) 7 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
  • 8. Git Popularity Continues to Grow, But…. The adoption of DVCS has accelerated in small teams, “but is moving more slowly in enterprise settings. Source: Gartner, 27 July 2011 ID Number: G00214153; Hype Cycle for Application Development, 2011; Ian Finley, Mike Blechar 8 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
  • 9. Gerrit = (Widely Used) Git Server + Code Review Tool • 100% pure Java SSH and HTTP Git backend – Scalable and suitable for large Enterprises • Web-based and Command Line administration – Users and Groups – Project and branch security (read and write) • Collaboration and Code-review – B2B integration at code-level – Communicate and share code knowledge in the Team – Enforce workflow and code quality • The most successful open source code review – Android OS – Eclipse, OpenStack, Qt, CouchDB and many others 9 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
  • 10. Who’s Using Gerrit in Production Today? 10 Copyright ©2015 CollabNet, Inc. All Rights Reserved. source: Wikipedia
  • 11. Git and Jenkins Market Share (study from zeroturnaround) 11 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
  • 12. Jenkins = Most popular Open Source CI • Has hundreds of plugins to – Interact with various SCMs (Git, SVN, CVS, …) – Build software (ant, maven, gradle, make) – Run unit/integration tests (JUnit, Selenium, …) – Perform static code analysis (findbugs, checkstyle, PMS, Sonar, …) • Works brilliantly together with Gerrit over Gerrit Trigger Plugin – Keeps ssh connection open to learn about new review requests immediatly – Builds and verifies all configures quality gates (tests, coding conventions, code KPIs, you name it) – Sets ‘verified’ flag in review request according to result of verification build (either +1 or -1) – If Jenkins sets -1, then further code review isn’t possible, developer has to either re-work or abandon change 12 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
  • 13. Tackling half baked review requests: Marrying Gerrit and Jenkins CI Build: OK CI Build: OK A1 C2* 13 Copyright ©2015 CollabNet, Inc. All Rights Reserved. mmaasstteerr A1 local master Verified: -1 (build failed) Verified: +1 (build OK) C2 rreeffss//ffoorr//mmaasstteerr push C2 C2* C2* push Reviewed: +2
  • 14. TeamForge = Enterprise-Grade Git Mgmt. + ALM 14 Copyright ©2015 CollabNet, Inc. All Rights Reserved.  24/7 Support  Git/Gerrit Training  Standards-Compliance  Scalability  ALM Integration  History Protection  Code Quality  Advanced Git security  Git Projects organization  Code-review  Replication  Basic SCM features  jGit engine  Native engine  GitWeb Gerrit With TeamForge and Gerrit, Git is now ready for the enterprise. Realize all the benefits of Git, without compromising governance, security and compliance.
  • 15. TeamForge = Enterprise-Grade Git Mgmt. + ALM Integration of existing tools Security, standards and audit compliance Scalability (and manageability at scale) 15 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
  • 16. TeamForge = Enterprise-Grade Git Mgmt. + ALM Searchability – across TF artifacts, including Code Search across multiple repositories, gerrit instances and other SCM tools (svn, cvs, perforce...) Traceability – associating the source code with requirements, issues, documents, tasks and other artifacts. RBAC – Role Based Access Control - for each application's concepts, documents, file releases, trackers, and discussion forums, you can assign permissions globally based on user roles 16 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
  • 17. Simple RBAC - TeamForge 17 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
  • 18. Gerrit Acces Rights- Not simple at all 18 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
  • 19. RepoCategories: Bridging the RBAC gap Motivation: Shield most users from Gerrit’s complexities by using pre-defined repo categories and generic TeamForge RBAC model with its SCM permissions. without hiding advanced features for power users Implementation:  Map TeamForge SCM permissions to Gerrit Access Rights.  Provide pre-defined code review policies so anyone can start to work with Gerrit within a few steps.  Code review policies are applied per repository. 19 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
  • 20. RepoCategories: Bridging the RBAC gap 20 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
  • 21. TeamForge = Enterprise-Grade Git Mgmt. + ALM 21 Copyright ©2015 CollabNet, Inc. All Rights Reserved.  24/7 Support  Git/Gerrit Training  Standards-Compliance  Scalability  ALM Integration  History Protection  Code Quality  Advanced Git security  Git Projects organization  Code-review  Replication  Basic SCM features  jGit engine  Native engine  GitWeb Gerrit With TeamForge and Gerrit, Git is now ready for the enterprise. Realize all the benefits of Git, without compromising governance, security and compliance.
  • 22. Git History Rewrite – Defined “We define History Rewrite as non-fast forward updates of remote refs and its associated objects. This happens whenever a branch in the remote repository gets deleted, previously pushed commits get amended/tree filtered and forcefully re-pushed, or a remote branch/tag is pointed to an entire different commit history.” 22 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
  • 23. Git History Rewrite – Functionality in Detail Change log Change log after Commit #4 Files Deleted File A Delete Commit #3 Files modified File A modified Commit #2 More files added File B Added Commit #1 Initially files added File A added History Re-Write Commit #5 More files added File X added Commit #1 Initially files added File A added Commit #4 Files Deleted File A Delete Commit #3 Files modified File A modified Commit #2 More files added File B Added Commit #1 Initially files added File A added git clone Commit #4 Files Deleted Commit #3 Files modified Commit #2 More files added Blessed Git Repo 23 Copyright ©2015 CollabNet, Inc. All Rights Reserved. • No traces about deleted changes (commits & metadata associated, files, directories) • Periodic garbage collection will remove unreferenced commits soon and afterwards they can no longer be recovered Local git commit(s) Local Git Repo Developer Commit #1 Initially files added File A added Developer Removes some files either by purpose or accidentally git push –f origin master Commit #5 More files added File X added Commit #1 Initially files added File A added
  • 24. Git History Rewrite – No Traces Left Behind! Code Change History Removing top 6 commits locally Creating new commit locally Pushing all changes to remote 24 Copyright ©2015 CollabNet, Inc. All Rights Reserved. No traces about deleted 6 commits in Web UI
  • 25. Git History Rewrite – This Can Happen to You, Too! Single ‘space’ wipes entire history: – git push origin production-quick-fix:stable instead of – git push origin production-quick-fix :stable No traces left behind: – No alerts – No recovery (unless noticed quickly, via administrators) Happens even to the experts: – https://bugs.eclipse.org/bugs/show_bug.cgi?id=361707 – Eclipse Foundation lost almost all their branches and tags accidentally, garbage collection pruned unreferenced commits, administrators had to ask developers for a recent local backup – http://jenkins-ci.org/content/summary-report-git-repository-disruption- incident-nov-10th – 186 repositories from Jenkins Open Source Project got reset on GitHub 25 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
  • 26. Introducing Git History Protection Change log Change log after Commit #4 Files Deleted File A Delete Commit #3 Files modified File A modified Commit #2 More files added File B Added Commit #1 Initially files added File A added History Re-Write Commit #5 More files added File X added Commit #1 Initially files added File A added Commit #4 Files Deleted File A Delete Commit #3 Files modified File A modified Commit #2 More files added File B Added Commit #1 Initially files added File A added git clone 1. Notification: Automatic e-mail 2. Reporting: Temper-proof audit-trail Commit #4 Files Deleted Commit #3 Files modified Commit #2 More files added Blessed Git Repo 26 Copyright ©2015 CollabNet, Inc. All Rights Reserved. to administrators Local git commit(s) Local Git Repo Developer Commit #1 Initially files added File A added Developer Removes some files either by purpose or accidentally TeamForge History Protect Detects Rewrite Event Commit #5 More files added File X added Commit #1 Initially files added File A added git push –f origin master (who, what, when) 3. Recovery: Self-service resurrection of history rewrite TeamForge automatically secures history snapshots on ‘blessed’ master repository (under “refs/rewrite” or “refs/deleted”), for auditing & recovery.
  • 27. TeamForge = Enterprise-Grade Git Mgmt. + ALM 27 Copyright ©2015 CollabNet, Inc. All Rights Reserved.  24/7 Support  Git/Gerrit Training  Standards-Compliance  Scalability  ALM Integration  History Protection  Code Quality  Advanced Git security  Git Projects organization  Code-review  Replication  Basic SCM features  jGit engine  Native engine  GitWeb Gerrit With TeamForge and Gerrit, Git is now ready for the enterprise. Realize all the benefits of Git, without compromising governance, security and compliance.
  • 28. Tackling half baked review requests: Marrying Gerrit and Jenkins CI Build: OK CI Build: OK A1 C2* 28 Copyright ©2015 CollabNet, Inc. All Rights Reserved. mmaasstteerr A1 local master Verified: -1 (build failed) Verified: +1 (build OK) C2 rreeffss//ffoorr//mmaasstteerr push C2 C2* C2* push Reviewed: +2
  • 29. Gerrit – Code Quality Gate Wizard – General Concept 29 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
  • 30. Code Quality Gate Wizard Code Quality Gate Wizard for Gerrit (Gerrit 2.8+) – comes with a bunch of predefined policies and lets you graphically design your own quality gates as easy as defining email filter rules. – Examples: • Four-eye peer review • Legal has to approve copyright file changes • Senior staff has to approve the work of juniors • Democratic feature voting – More details under http://blogs.collab.net/git 30 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
  • 31. Gerrit – Code Quality Gate Wizard – How to launch 31 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
  • 32. Gerrit – Code Quality Gate Wizard – Predefined templates 32 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
  • 33. Gerrit – Code Quality Gate Wizard – Built In Test Mode 33 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
  • 34. Gerrit – Code Quality Gate Wizard – Based on existing changes 34 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
  • 35. Gerrit – Code Quality Gate Wizard – Great Flexibility 35 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
  • 36. TeamForge = Enterprise-Grade Git Mgmt. + ALM 36 Copyright ©2015 CollabNet, Inc. All Rights Reserved.  24/7 Support  Security  Standards-Compliance  Scalability  ALM Integration  History Protection  Code Quality  Advanced Git security  Git Projects organization  Code-review  Replication  Basic SCM features  jGit engine  Native engine  GitWeb Gerrit With TeamForge and Gerrit, Git is now ready for the enterprise. Realize all the benefits of Git, without compromising governance, security and compliance.
  • 37. Learn More 3-Minute Video on History Protection http://www.collab.net/products/teamforge/git-for-the-enterprise Git Blogs http://blogs.collab.net/git Software Downloads (TeamForge, Git + clients) http://www.collab.net/git 37 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
  • 38. Q&A 38 Copyright ©2015 CollabNet, Inc. All RRiigghhttss RReesseerrvveedd..
  • 39. Feature deep dive: Simple RBAC Pre defined & user-defined categories  Default: All Gerrit review features are turned off  Mandatory Review: All code changes have to be reviewed  Optional Review: Review feature is turned on but can be bypassed if necessary  Custom: Access rights have to be set manually in Gerrit Web UI and will not be overridden by TeamForge  User-defined: Possibility to define your own access rights controlled by TeamForge 39 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
  • 40. Git History Rewrite – Example: Accidental Branch Deletion Prepare a fix in local branch which is to be pushed to stable branch on remote. Use this syntax for PUSH to remote Typo in push command...(accidentially added a space) Results in branch deletion. No trace on Web UI on Git server side (stable branch got deleted) 40 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
  • 41. Git History Protection – Alerting 1. Notification: Automatic e-mail to administrators 2. Reporting: Temper-proof audit-trail (who, what, when) 3. Recovery: Self-service resurrection of history rewrite Whenever history gets ‘re-written’, an email gets sent out to ‘Gerrit Administrators’ containing details about old HEAD of branch and new HEAD after ‘re-write’. 41 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
  • 42. Git History Protection – Reporting (Audit Log) 42 Copyright ©2015 CollabNet, Inc. All Rights Reserved. Audit Log containing all History Rewrite Events is accessible through TeamForge Web UI 1. Notification: Automatic e-mail to administrators 2. Reporting: Temper-proof audit-trail (who, what, when) 3. Recovery: Self-service resurrection of history rewrite
  • 43. Git History Protection – Reporting (Web UI) 1. Notification: Automatic e-mail to administrators 2. Reporting: Temper-proof audit-trail (who, what, when) 3. Recovery: Self-service resurrection of history rewrite 43 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
  • 44. Git History Protection – Reporting (Command Line) 1. Notification: Automatic e-mail to administrators 2. Reporting: Temper-proof audit-trail (who, what, when) 3. Recovery: Self-service resurrection of history rewrite 44 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
  • 45. Git History Protection – Reporting (Eclipse) 1. Notification: Automatic e-mail to administrators 2. Reporting: Temper-proof audit-trail (who, what, when) 3. Recovery: Self-service resurrection of history rewrite 45 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
  • 46. Git History Protection – Recovery (Web UI) 1. Notification: Automatic e-mail to administrators 2. Reporting: Temper-proof audit-trail (who, what, when) 3. Recovery: Self-service resurrection of history rewrite 46 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
  • 47. Git History Protection – Recovery (Command Line) 1. Notification: Automatic e-mail to administrators 2. Reporting: Temper-proof audit-trail (who, what, when) 3. Recovery: Self-service resurrection of history rewrite Run this command on git 1 command line Copy HEAD SHA1 of branch 2 created after history ’re-write’ 3 Fetch SHA1 of rewritten history from server Use copied SHA1 to create new local branch in Git Push this local branch to remote ‘blessed reposiotry’ Alternatively users having permissions to create a new branch can restore history by using their git client Resurrected branch via command line is now available for all user having atleast read access(view only) for this Git repository 4 5 47 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
  • 48. Git History Protection – Administration Gerrit Config-Option allows you to protect all Git repositories hosted by TeamForge: Not even TeamForge Site Admins can override 48 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
  • 49. Git History Rewrite – Why Blocking is NOT the Answer Legitimate use cases – Developers • Deleting accidently committed file(s)/change(s) • Change appearance of commits – squashing multiple commits into unified single commit – change order of commits – Build / Release managers / Developers • Removing Copyrights/ Intellectual Property(IP) related resources from code base • Removing large file(s) • Removing feature branch(es) created temporarily and already merged Not (so) Legitimate use cases – Developers / Build / Release Managers • Remove somebody else’s changes without leaving any trace • Pretending someone else’s change as own (forgery) • Accidentally removing branches 49 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
  • 50. Git History Rewrite – Why Blocking is NOT the Answer Legitimate use cases – Developers • Deleting accidently committed file(s)/change(s) • Change appearance of commits – squashing multiple commits into unified single commit – change order of commits – Build / Release managers / Developers • Removing Copyrights/ Intellectual Property(IP) related resources from code base • Removing large file(s) • Removing feature branch(es) created temporarily and already merged Not (so) Legitimate use cases – Developers / Build / Release Managers • Remove somebody else’s changes without leaving any trace • Pretending someone else’s change as own (forgery) • Accidentally removing branches 50 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
  • 51. Git History Rewrite – Why Blocking is NOT the Answer Legitimate use cases – Developers • Deleting accidently committed file(s)/change(s) • Change appearance of commits – squashing multiple commits into unified single commit – change order of commits – Build / Release managers / Developers • Removing Copyrights/ Intellectual Property(IP) related resources from code base • Removing large file(s) • Removing feature branch(es) created temporarily and already merged Not (so) Legitimate use cases – Developers / Build / Release Managers • Remove somebody else’s changes without leaving any trace • Pretending someone else’s change as own (forgery) • Accidentally removing branches 51 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
  • 52. Git History Protection - Summary • TeamForge + Gerrit is a powerful foundation for Enterprise Git • Git History Rewrite covers branch deletions and forced pushes, two very powerful, often needed but quite dangerous operations which might lead to data loss and tampering • TeamForge 6.2 with Gerrit introduced History Protection • History protection ensures that potentially unnoticed events, such as remote branch deletions and forced pushes, are now detected and fully recoverable, any modifications to Git code and repositories are securely recorded with tamper-proof audit logs • Recovery is possible from a Web interface at the push of a button, and using an ordinary Git client, IT operations teams don’t have to be involved 52 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
  • 53. Feature deep dive: Notifications Motivation: Bring the git push notifications mechanism from the gitmultimail script to TeamForge 53 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
  • 54. Feature deep dive: Notifications 54 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
  • 55. Appendix – History Rewrite, versus Git Reflog Git reflog TeamForge Git Integration with ‘History Protect’ Accessibility Requires direct access to file system on server where ‘blessed Git repository’ is hosted which is very unlikely in huge organizations and will keep the server administrators busy ‘Self –Service’ approach. Users with appropriate permissions in TeamForge can find out/resurrect deleted/rewritten branches by themselves, decreasing work load of server administrators. Gerrit Administrators can also permanently delete selected branches/tags. Signal-to- Noise Ratio reflog records <all> changes in the repository • Any push (also ordinary fast forward) • Any merge • Any Branch creation/deletion • Any Tag creation / deletion Finding out about history rewrites/deleted branches is like searching for a needle in a haystack History Protect only reports • Deleted branches/tags • History rewrites (non fast forward pushes) Notification No notification • Email to Gerrit Administrators • Audit log entry whenever branch/tags gets 55 Copyright ©2015 CollabNet, Inc. All Rights Reserved. • Deleted • Re-written (non fast forward) • Resurrected • Permanently deleted Ease of use • Only manually configurable by administrator having file system access • To be configured for each and every repository • Restoring requires running git commands on server • Pre-configured in TeamForge/Gerrit • Configurable for all repositories by setting site-wide config option or on a per repository basis • User with appropriate permission can restore history using GerritWebUI / Git client Protection against object pruning/reflog expiration RefLog expiration and gc pruning settings have to be manually configured by server administrator. Only possibility to not lose commits no longer referenced in a branch is to set both values to <unlimited> which will consume huge amounts of disk space, slows down garbage collection and does not allow to permanently delete specific commits (all or nothing). Preserved commits will never pruned by garbage collection unless permanently removed using GerritWeb UI. No need to keep a large ref log. Garbage collection will run faster since all commits are still referenced in the repo.