SlideShare une entreprise Scribd logo
1  sur  57
Télécharger pour lire hors ligne
Code Review goes Cloud Native
Gerrit on Kubernetes
managed by Gardener
Gerrit Master
MySQL
Master
Fetch
GerritMaster
gitgc
Push
Git Repositories
read
write
gc
Add Slaves
MySQL
Master
Fetch
GerritMaster
gitgc
Push
Git Repositories
read
write
gc
Add Slaves
MySQL
Master
Fetch
GerritMaster
gitgc
Replication
Plugin
Push
Git Repositories
read
write
gc
Add Slaves
MySQL
Master
Apache-Git-
backend
Fetch
GerritMaster
gitgc
Replication
Plugin
Push
Git Repositories
read
write
gc
Add Slaves
MySQL
Master
Apache-Git-
backend
Fetch
GerritMaster
gitgc
Replication
Plugin
Push
Git Repositories
read
write
gcread
Add Slaves
MySQL
Master
Apache-Git-
backend
Git Repositories
write
Fetch
GerritMaster
gitgc
Replication
Plugin
Push
Git Repositories
read
write
gcread
ssh: create repos
Add Slaves
MySQL
Master
Apache-Git-
backend
https: git push
Git Repositories
write
Fetch
GerritMaster
gitgc
Replication
Plugin
Push
Git Repositories
read
write
gcread
ssh: create repos
Add Slaves
MySQL
Master
Apache-Git-
backend
MySQL
Slave
https: git push
Git Repositories
write
Fetch
GerritMaster
gitgc
Replication
Plugin
Push
Git Repositories
read
write
gcread
ssh: create repos
Add Slaves
MySQL
Master
Apache-Git-
backend
MySQL
Slave
https: git push
fetch transaction log
Git Repositories
write
Fetch
GerritMaster
gitgc
Replication
Plugin
Push
Git Repositories
read
write
gcread
ssh: create repos
Add Slaves
MySQL
Master
Apache-Git-
backend
GerritSlave
MySQL
Slave
https: git push
fetch transaction log
Git Repositories
write
Fetch
GerritMaster
gitgc
Replication
Plugin
Push
Git Repositories
read
write
gcread
ssh: create repos
Add Slaves
MySQL
Master
Apache-Git-
backend
GerritSlave
MySQL
Slave
https: git push
fetch transaction log
Git Repositories
write read
Fetch
GerritMaster
gitgc
Replication
Plugin
Push
Git Repositories
read
write
gcread
ssh: create repos
Add Slaves
MySQL
Master
Apache-Git-
backend
GerritSlave
MySQL
Slave
https: git push
fetch transaction log
Git Repositories
write read
Fetch
Fetch
GerritMaster
gitgc
Replication
Plugin
Push
Git Repositories
read
write
gcread
ssh: create repos
Add Slaves
MySQL
Master
Apache-Git-
backend
gitgc
GerritSlave
MySQL
Slave
https: git push
fetch transaction log
Git Repositories
write gc read
Fetch
Fetch
GerritMaster
gitgc
Replication
Plugin
Push
Git Repositories
read
write
gcread
ssh: create repos
Add Slaves
MySQL
Master
Apache-Git-
backend
gitgc
GerritSlave
MySQL
Slave
https: git push
fetch transaction log
Git Repositories
write gc read
Fetch
Fetch
GerritMaster
gitgc
Replication
Plugin
Push
Git Repositories
read
write
gcread
ssh: create repos
Add Slaves
MySQL
Master
Apache-Git-
backend
gitgc
GerritSlave
MySQL
Slave
https: git push
fetch transaction log
Git Repositories
write gc read
Fetch
Fetch
GerritMaster
gitgc
Replication
Plugin
Push
Git Repositories
read
write
gcread
ssh: create repos
Dockerize Slaves
MySQL
Master
Apache-Git-
backend
gitgc
GerritSlave
MySQL
Slave
ssh: create repos
https: git push
fetch transaction log
Git Repositories
write gc read
Fetch
Fetch
GerritMaster
gitgc
Replication
Plugin
Push
Git Repositories
read
write
gcread
From Containers to Kubernetes
From Containers to Kubernetes
VM
Host OS
Container Runtime
Container
From Containers to Kubernetes
VM
Host OS
Container Runtime
Container
From Containers to Kubernetes
VM
Host OS
Container Runtime
Benefits
Isolation
Immutable infrastructure
Portability
Faster deployments
Versioning
Ease of sharing
Container
From Containers to Kubernetes
VM
Host OS
Container Runtime
Benefits
Isolation
Immutable infrastructure
Portability
Faster deployments
Versioning
Ease of sharing
Challenges
Networking
Security
Deployments
Service Discovery
Auto Scaling
Persisting Data
Logging, Monitoring
Access Control
Container
From Containers to Kubernetes
VM
Host OS
Container Runtime
Benefits
Isolation
Immutable infrastructure
Portability
Faster deployments
Versioning
Ease of sharing
Challenges
Networking
Security
Deployments
Service Discovery
Auto Scaling
Persisting Data
Logging, Monitoring
Access Control
Container Scheduler
Container
From Containers to Kubernetes
VM
Host OS
Container Runtime
Benefits
Isolation
Immutable infrastructure
Portability
Faster deployments
Versioning
Ease of sharing
Challenges
Networking
Security
Deployments
Service Discovery
Auto Scaling
Persisting Data
Logging, Monitoring
Access Control
Container Scheduler
Container
From Containers to Kubernetes
VM
Host OS
Container Runtime
Benefits
Isolation
Immutable infrastructure
Portability
Faster deployments
Versioning
Ease of sharing
Challenges
Networking
Security
Deployments
Service Discovery
Auto Scaling
Persisting Data
Logging, Monitoring
Access Control
Container Scheduler
Container
From Containers to Kubernetes
VM
Host OS
Container Runtime
Benefits
Isolation
Immutable infrastructure
Portability
Faster deployments
Versioning
Ease of sharing
Challenges
Networking
Security
Deployments
Service Discovery
Auto Scaling
Persisting Data
Logging, Monitoring
Access Control
Container Scheduler
Container
From Containers to Kubernetes
VM
Host OS
Container Runtime
Benefits
Isolation
Immutable infrastructure
Portability
Faster deployments
Versioning
Ease of sharing
Challenges
Networking
Security
Deployments
Service Discovery
Auto Scaling
Persisting Data
Logging, Monitoring
Access Control
Kubernetes
Orchestration of cluster of containers across
multiple hosts
• Automatic placements, networking,
deployments, scaling, roll-out/-back, A/B testing
Container Scheduler
Container
From Containers to Kubernetes
VM
Host OS
Container Runtime
Benefits
Isolation
Immutable infrastructure
Portability
Faster deployments
Versioning
Ease of sharing
Challenges
Networking
Security
Deployments
Service Discovery
Auto Scaling
Persisting Data
Logging, Monitoring
Access Control
Kubernetes
Orchestration of cluster of containers across
multiple hosts
• Automatic placements, networking,
deployments, scaling, roll-out/-back, A/B testing
Declarative – not procedural
• Declare target state, reconcile to desired state
• Self-healing
Container Scheduler
Container
From Containers to Kubernetes
VM
Host OS
Container Runtime
Benefits
Isolation
Immutable infrastructure
Portability
Faster deployments
Versioning
Ease of sharing
Challenges
Networking
Security
Deployments
Service Discovery
Auto Scaling
Persisting Data
Logging, Monitoring
Access Control
Kubernetes
Orchestration of cluster of containers across
multiple hosts
• Automatic placements, networking,
deployments, scaling, roll-out/-back, A/B testing
Docker
Workload Portability
• Abstract from cloud provider specifics
• Multiple container runtimes
Declarative – not procedural
• Declare target state, reconcile to desired state
• Self-healing
Container Scheduler
Container
Gerrit-Slave Helm Chart
MySQL Helm Chart
PV
Slaves on Kubernetes
MySQL
Master
Kubernetes
deployment
Apache-Git
CronJob
git gc
Persistent Volume
Git Repositories
Fetch
Fetch
GerritMaster
gitgc
Replication
Plugin
Push
Git Repositories
read
write
gcread
deployment
replica set
Gerrit
Slave
NFS Helm Chart
NFS Server
MySQL
Slave
Storage
ingress
ingress
PVC PVC PVC
PVC
Gerrit-Slave Helm Chart
MySQL Helm Chart
PV
Kubernetes Cluster
deployment
Apache-Git
CronJob
git gc
Persistent Volume
Git Repositories
Fetch
deployment
replica set
Gerrit
Slave
MySQL
Slave
NFS Volume
ingress ingress
PVC PVC PVC
PVC
Gerrit-Master Helm Chart
MySQL Helm Chart
PV
job
git gc
Persistent Volume
Git Repositories
deployment
replica set
Gerrit
Master
MySQL
Master
NFS Volume
PVC PVC
PVC
Fetch
Push
Master-Slave on Kubernetes
Gardener - Kubernetes Clusters as a Service
Gardener
Gardener - Kubernetes Clusters as a Service
WorkerMaster
Master
Master
Worker
Worker
HA
Gardener Cluster
Gardener
Gardener - Kubernetes Clusters as a Service
WorkerMaster
Master
Master
Worker
Worker
HA
Gardener Cluster
Gardener
Worker
Seed Cluster
Master
Master
Master
Worker
Worker
HA
Gardener - Kubernetes Clusters as a Service
WorkerMaster
Master
Master
Worker
Worker
HA
Gardener Cluster
Gardener
Worker
Seed Cluster
Master
Master
Master
Worker
Worker
HA
Gardener - Kubernetes Clusters as a Service
WorkerMaster
Master
Master
Worker
Worker
HA
Gardener Cluster
Gardener
Worker
Seed Cluster
Master
Master
Master
Worker
Worker
HA
Shoot Clusters
Gardener - Kubernetes Clusters as a Service
WorkerMaster
Master
Master
Worker
Worker
HA
Gardener Cluster
Gardener
Worker
Seed Cluster
Master
Master
Master
Worker
Worker
HA
Shoot Clusters
Worker
Worker
Worker
Gardener - Kubernetes Clusters as a Service
WorkerMaster
Master
Master
Worker
Worker
HA
Gardener Cluster
GardenerapiVersion: garden.sapcloud.io/v1
kind: Shoot
metadata:
name: my-cluster
namespace: garden-project
spec:
dns:
provider: aws-route53
domain: cluster.ondemand.com
cloud:
aws:
networks:
vpc:
cidr: 10.250.0.0/16
workers:
- name: cpu-worker
machineType: m4.xlarge
autoScalerMin: 5
autoScalerMax: 20
kubernetes:
version: 1.11.2
kubeAPIServer:
featureGates: ...
runtimeConfig: ...
admissionPlugins: ...
maintenance:
timeWindow:
begin: 220000+0000
end: 230000+0000
autoUpdate:
kubernetesVersion: true
status:
...
cluster.yaml
Worker
Seed Cluster
Master
Master
Master
Worker
Worker
HA
Shoot Clusters
Worker
Worker
Worker
Gardener - Kubernetes Clusters as a Service
WorkerMaster
Master
Master
Worker
Worker
HA
Gardener Cluster
Gardener
Worker
Seed Cluster
Master
Master
Master
Worker
Worker
HA
Shoot Clusters
Worker
Worker
Worker Worker
Worker
Gardener - Kubernetes Clusters as a Service
WorkerMaster
Master
Master
Worker
Worker
HA
Gardener Cluster
Gardener
Worker
Seed Cluster
Master
Master
Master
Worker
Worker
HA
Shoot Clusters
Worker
Worker
Worker Worker
Worker
Worker
Gardener - Kubernetes Clusters as a Service
WorkerMaster
Master
Master
Worker
Worker
HA
Gardener Cluster
Gardener
Worker
Seed Cluster
Master
Master
Master
Worker
Worker
HA
Shoot Clusters
Worker
Worker
Worker Worker
Worker
Worker
Worker
Worker
Worker
Worker
Worker
Worker
Worker
Gardener - Kubernetes Clusters as a Service
WorkerMaster
Master
Master
Worker
Worker
HA
Gardener Cluster
Gardener
Worker
Seed Cluster
Master
Master
Master
Worker
Worker
HA
Shoot Clusters
Worker
Worker
Worker Worker
Worker
Worker
Worker
Worker
Worker
Worker
Worker
Worker
Worker
Gardener - Kubernetes Clusters as a Service
WorkerMaster
Master
Master
Worker
Worker
HA
Gardener Cluster
Inside a Seed
Cluster Worker
Gardener
Zooming into the
Seed Cluster reveals…
Worker
Seed Cluster
Master
Master
Master
Worker
Worker
HA
Shoot Clusters
Worker
Worker
Worker Worker
Worker
Worker
Worker
Worker
Worker
Worker
Worker
Worker
Worker
Gardener - Kubernetes Clusters as a Service
Multiple Shoot Cluster
Control Planes
WorkerMaster
Master
Master
Worker
Worker
HA
Gardener Cluster
Inside a Seed
Cluster Worker
manages
API Server
SchedulerController Mgr
ETCD
Gardener
Zooming into the
Seed Cluster reveals…
Worker
Seed Cluster
Master
Master
Master
Worker
Worker
HA
Shoot Clusters
Worker
Worker
Worker Worker
Worker
Worker
Worker
Worker
Worker
Worker
Worker
Worker
Worker
Gardener - Kubernetes Clusters as a Service
Multiple Shoot Cluster
Control Planes
WorkerMaster
Master
Master
Worker
Worker
HA
Gardener Cluster
Inside a Seed
Cluster Worker
manages
API ServerETCD
SchedulerController Mgr
API Server
SchedulerController Mgr
ETCD
Gardener
Zooming into the
Seed Cluster reveals…
Worker
Seed Cluster
Master
Master
Master
Worker
Worker
HA
Shoot Clusters
Worker
Worker
Worker Worker
Worker
Worker
Worker
Worker
Worker
Worker
Worker
Worker
Worker
Gardener - Kubernetes Clusters as a Service
Multiple Shoot Cluster
Control Planes
WorkerMaster
Master
Master
Worker
Worker
HA
Gardener Cluster
Inside a Seed
Cluster Worker
manages
API ServerETCD
SchedulerController Mgr
API Server
SchedulerController Mgr
ETCD
ETCD …API Server
Gardener
Zooming into the
Seed Cluster reveals…
Worker
Seed Cluster
Master
Master
Master
Worker
Worker
HA
Shoot Clusters
Worker
Worker
Worker Worker
Worker
Worker
Worker
Worker
Worker
Worker
Worker
Worker
Worker
Gardener Machine Controller Manager
Machine Provisioning
Self-Healing
Auto-Update
Auto-Scaling
Gardener - Kubernetes Clusters as a Service
Multiple Shoot Cluster
Control Planes
WorkerMaster
Master
Master
Worker
Worker
HA
Gardener Cluster
Inside a Seed
Cluster Worker
manages
API ServerETCD
SchedulerController Mgr
API Server
SchedulerController Mgr
ETCD
ETCD …API Server
Gardener
Zooming into the
Seed Cluster reveals…
Worker
Seed Cluster
Master
Master
Master
Worker
Worker
HA
Shoot Clusters
Worker
Worker
Worker Worker
Worker
Worker
Worker
Worker
Worker
Worker
Worker
Worker
Worker
Gardener Machine Controller Manager
Machine Provisioning
Self-Healing
Auto-Update
Auto-Scaling
Gardener - Kubernetes Clusters as a Service
Multiple Shoot Cluster
Control Planes
WorkerMaster
Master
Master
Worker
Worker
HA
Gardener Cluster
Inside a Seed
Cluster Worker
manages
API ServerETCD
SchedulerController Mgr
API Server
SchedulerController Mgr
ETCD
ETCD …API Server
Gardener
Zooming into the
Seed Cluster reveals…
Demo
Gerrit on Kubernetes
managed by Gardener
Next steps
Storage
• use Ceph / Rook to replace NFS
Update chart to enable using master branch
• get rid of database
Index
Replace Lucene by ElasticSearch
Gerrit Operator
based on operator framework
to implement
• Sharding
• Multi-master
• Auto-Scaling
Logging
EFK-Stack
• Elastic search => Indexing
• Fluentbit => Log-collection
• Kibana => Visualization
Monitoring
Prometheus => data collection
Grafana => visualization
Contributions
welcome !
Picture Link
Links
Git Repository
https://gerrit.googlesource.com/k8s-gerrit
Docker Images
https://hub.docker.com/u/k8sgerrit
Gardener
https://gardener.cloud

Contenu connexe

Plus de msohn

Git Tutorial EclipseCon France 2014 - Gerrit Exercise 7 - new changescreen
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 7 - new changescreenGit Tutorial EclipseCon France 2014 - Gerrit Exercise 7 - new changescreen
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 7 - new changescreenmsohn
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 6 - submit a change
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 6 - submit a changeGit Tutorial EclipseCon France 2014 - Gerrit Exercise 6 - submit a change
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 6 - submit a changemsohn
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 5 - improve a change
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 5 - improve a changeGit Tutorial EclipseCon France 2014 - Gerrit Exercise 5 - improve a change
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 5 - improve a changemsohn
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 4 - review change
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 4 - review changeGit Tutorial EclipseCon France 2014 - Gerrit Exercise 4 - review change
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 4 - review changemsohn
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 3 - push change to gerrit
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 3 - push change to gerritGit Tutorial EclipseCon France 2014 - Gerrit Exercise 3 - push change to gerrit
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 3 - push change to gerritmsohn
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 2 - fetch the latest state
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 2 - fetch the latest stateGit Tutorial EclipseCon France 2014 - Gerrit Exercise 2 - fetch the latest state
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 2 - fetch the latest statemsohn
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 1 - configure for gerrit
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 1 - configure for gerritGit Tutorial EclipseCon France 2014 - Gerrit Exercise 1 - configure for gerrit
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 1 - configure for gerritmsohn
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 8 - view gerrit review ...
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 8 - view gerrit review ...Git Tutorial EclipseCon France 2014 - Gerrit Exercise 8 - view gerrit review ...
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 8 - view gerrit review ...msohn
 
Git Tutorial EclipseCon France 2014 - Git Exercise 07 - git blame
Git Tutorial EclipseCon France 2014 - Git Exercise 07 - git blameGit Tutorial EclipseCon France 2014 - Git Exercise 07 - git blame
Git Tutorial EclipseCon France 2014 - Git Exercise 07 - git blamemsohn
 
Git Tutorial EclipseCon France 2014 - Git Exercise 06 - interactive rebase
Git Tutorial EclipseCon France 2014 - Git Exercise 06 - interactive rebaseGit Tutorial EclipseCon France 2014 - Git Exercise 06 - interactive rebase
Git Tutorial EclipseCon France 2014 - Git Exercise 06 - interactive rebasemsohn
 
Git Tutorial EclipseCon France 2014 - Git Exercise 05 - history view
Git Tutorial EclipseCon France 2014 - Git Exercise 05 - history viewGit Tutorial EclipseCon France 2014 - Git Exercise 05 - history view
Git Tutorial EclipseCon France 2014 - Git Exercise 05 - history viewmsohn
 
Git Tutorial EclipseCon France 2014 - Git Exercise 04 - merging rebasing and ...
Git Tutorial EclipseCon France 2014 - Git Exercise 04 - merging rebasing and ...Git Tutorial EclipseCon France 2014 - Git Exercise 04 - merging rebasing and ...
Git Tutorial EclipseCon France 2014 - Git Exercise 04 - merging rebasing and ...msohn
 
Git Tutorial EclipseCon France 2014 - Git Exercise 03 - work on branches in p...
Git Tutorial EclipseCon France 2014 - Git Exercise 03 - work on branches in p...Git Tutorial EclipseCon France 2014 - Git Exercise 03 - work on branches in p...
Git Tutorial EclipseCon France 2014 - Git Exercise 03 - work on branches in p...msohn
 
Git Tutorial EclipseCon France 2014 - Git Exercise 01 - installation and conf...
Git Tutorial EclipseCon France 2014 - Git Exercise 01 - installation and conf...Git Tutorial EclipseCon France 2014 - Git Exercise 01 - installation and conf...
Git Tutorial EclipseCon France 2014 - Git Exercise 01 - installation and conf...msohn
 
Git Tutorial EclipseCon France 2014 - Git Exercise 02 - develop a feature
Git Tutorial EclipseCon France 2014 - Git Exercise 02 - develop a featureGit Tutorial EclipseCon France 2014 - Git Exercise 02 - develop a feature
Git Tutorial EclipseCon France 2014 - Git Exercise 02 - develop a featuremsohn
 
Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014
Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014
Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014msohn
 
Interactive Rebase with EGit
Interactive Rebase with EGitInteractive Rebase with EGit
Interactive Rebase with EGitmsohn
 
EGit 3.0 and beyond
EGit 3.0 and beyondEGit 3.0 and beyond
EGit 3.0 and beyondmsohn
 
Cool new stuff in JGit and EGit - Eclipse Democamp Munich 2013-06-12
Cool new stuff in JGit and EGit - Eclipse Democamp Munich 2013-06-12Cool new stuff in JGit and EGit - Eclipse Democamp Munich 2013-06-12
Cool new stuff in JGit and EGit - Eclipse Democamp Munich 2013-06-12msohn
 
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
 

Plus de msohn (20)

Git Tutorial EclipseCon France 2014 - Gerrit Exercise 7 - new changescreen
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 7 - new changescreenGit Tutorial EclipseCon France 2014 - Gerrit Exercise 7 - new changescreen
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 7 - new changescreen
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 6 - submit a change
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 6 - submit a changeGit Tutorial EclipseCon France 2014 - Gerrit Exercise 6 - submit a change
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 6 - submit a change
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 5 - improve a change
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 5 - improve a changeGit Tutorial EclipseCon France 2014 - Gerrit Exercise 5 - improve a change
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 5 - improve a change
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 4 - review change
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 4 - review changeGit Tutorial EclipseCon France 2014 - Gerrit Exercise 4 - review change
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 4 - review change
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 3 - push change to gerrit
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 3 - push change to gerritGit Tutorial EclipseCon France 2014 - Gerrit Exercise 3 - push change to gerrit
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 3 - push change to gerrit
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 2 - fetch the latest state
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 2 - fetch the latest stateGit Tutorial EclipseCon France 2014 - Gerrit Exercise 2 - fetch the latest state
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 2 - fetch the latest state
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 1 - configure for gerrit
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 1 - configure for gerritGit Tutorial EclipseCon France 2014 - Gerrit Exercise 1 - configure for gerrit
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 1 - configure for gerrit
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 8 - view gerrit review ...
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 8 - view gerrit review ...Git Tutorial EclipseCon France 2014 - Gerrit Exercise 8 - view gerrit review ...
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 8 - view gerrit review ...
 
Git Tutorial EclipseCon France 2014 - Git Exercise 07 - git blame
Git Tutorial EclipseCon France 2014 - Git Exercise 07 - git blameGit Tutorial EclipseCon France 2014 - Git Exercise 07 - git blame
Git Tutorial EclipseCon France 2014 - Git Exercise 07 - git blame
 
Git Tutorial EclipseCon France 2014 - Git Exercise 06 - interactive rebase
Git Tutorial EclipseCon France 2014 - Git Exercise 06 - interactive rebaseGit Tutorial EclipseCon France 2014 - Git Exercise 06 - interactive rebase
Git Tutorial EclipseCon France 2014 - Git Exercise 06 - interactive rebase
 
Git Tutorial EclipseCon France 2014 - Git Exercise 05 - history view
Git Tutorial EclipseCon France 2014 - Git Exercise 05 - history viewGit Tutorial EclipseCon France 2014 - Git Exercise 05 - history view
Git Tutorial EclipseCon France 2014 - Git Exercise 05 - history view
 
Git Tutorial EclipseCon France 2014 - Git Exercise 04 - merging rebasing and ...
Git Tutorial EclipseCon France 2014 - Git Exercise 04 - merging rebasing and ...Git Tutorial EclipseCon France 2014 - Git Exercise 04 - merging rebasing and ...
Git Tutorial EclipseCon France 2014 - Git Exercise 04 - merging rebasing and ...
 
Git Tutorial EclipseCon France 2014 - Git Exercise 03 - work on branches in p...
Git Tutorial EclipseCon France 2014 - Git Exercise 03 - work on branches in p...Git Tutorial EclipseCon France 2014 - Git Exercise 03 - work on branches in p...
Git Tutorial EclipseCon France 2014 - Git Exercise 03 - work on branches in p...
 
Git Tutorial EclipseCon France 2014 - Git Exercise 01 - installation and conf...
Git Tutorial EclipseCon France 2014 - Git Exercise 01 - installation and conf...Git Tutorial EclipseCon France 2014 - Git Exercise 01 - installation and conf...
Git Tutorial EclipseCon France 2014 - Git Exercise 01 - installation and conf...
 
Git Tutorial EclipseCon France 2014 - Git Exercise 02 - develop a feature
Git Tutorial EclipseCon France 2014 - Git Exercise 02 - develop a featureGit Tutorial EclipseCon France 2014 - Git Exercise 02 - develop a feature
Git Tutorial EclipseCon France 2014 - Git Exercise 02 - develop a feature
 
Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014
Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014
Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014
 
Interactive Rebase with EGit
Interactive Rebase with EGitInteractive Rebase with EGit
Interactive Rebase with EGit
 
EGit 3.0 and beyond
EGit 3.0 and beyondEGit 3.0 and beyond
EGit 3.0 and beyond
 
Cool new stuff in JGit and EGit - Eclipse Democamp Munich 2013-06-12
Cool new stuff in JGit and EGit - Eclipse Democamp Munich 2013-06-12Cool new stuff in JGit and EGit - Eclipse Democamp Munich 2013-06-12
Cool new stuff in JGit and EGit - Eclipse Democamp Munich 2013-06-12
 
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
 

Dernier

Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfryanfarris8
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...software pro Development
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...kalichargn70th171
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 

Dernier (20)

Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 

Code Review goes Cloud Native - Gerrit on Kubernetes managed by Gardener