2
à Jahrgang 1991
à PHP	->	Java
à 5	Jahre bei InnoGames
à Seit Februar:	Entwicklung von	Middleware
à Game	Jams	(www.igjam.eu)
à IOT	Bastler
MOIN
@ThYpHoOn
3
WAS	AUF	EUCH ZUKOMMT
2
1
3
4
Intro
.gitlab-ci.yml
Features
Recap
5
DISCLAIMER
DISCLAIMER
à Kein Gitlab.com Mitarbeiter
à Research	->	Wissen aufgebaut ->	Team	nutzt Jenkins
à Bitbucket vs	Gitlab bei uns:	Game	Teams	haben hohes Interesse an	Gitlab CI
6
GRÜNE WIESE
7
TRAVIS	CI
8
FIRST-GENERATION	CI	SYSTEMS
à Web	UI
à Unabhängig vom Code	Repoistory
à Plugins,	Plugins,	Plugins…
9
à CI	file	im Repo	(gitlab-ci.yml /	travis.yml /	Jenkinsfile)
– Test	Build	Pipeline	im Branch
– Rebuilds	laufen out	of	the	box
à Direkte Integrierung in	Code	Hosting	Sites
à Pipeline	auf	Basis	von	Container
NEW	GENERATION	CI	SYSTEMS
10
à 14	Repos	mit Dependencies	untereinander
à 10	Modules/Apps	
à CI	ermittelt Version	und	released	zu Artifactory
à Version	pinning	bei release
à Testen (mit Dependencies)	aller branches
à Integration	Tests	gegen Postgres	&	MySQL
MIDDLEWARE
11
CI/CD	PIPELINE
13
.GITLAB-CI.YML
14
.GITLAB-CI.YML CACHING
15
.GITLAB-CI.YML TESTS
16
.GITLAB-CI.YML DEPLOY	ARTIFACTORY
17
DEPLOY	DOCKER IMAGE	NACH ARTIFACTORY
18
DEPLOY	AUF	DOCKER	SWARM
19
DOCKER	RUNNER	CONFIG
20
VERSION	PINNING	AUF	RELEASE	BRANCH
master release/1.2.3
21
GIT GRAPH
23
PIPELINE	GRAPH
24
COMMIT	HISTORY
25
MERGE	REQUESTS
26
BUILD	LOGS
27
BADGES
28
SONAR	GITLAB PLUGIN
29
SONAR	GITLAB PLUGIN
30
SLACK
31
SCHEDULED	PIPELINES
32
DOWNSTREAM	VISUALISIERUNG
33
ISSUES,	WIKI,	SNIPPETS,	CONTAINER	REGISTRY
34
API +	DOCUMENTATION
35
GEPLANTE FEATURES
37
à CI	Pipeline	Definition	Teil des	Code	Repository	[1]
à First	Class	Docker	Integration
à Sichtbarkeit direkt in	Gitlab,	komplette Transparenz
à Reject	MRs	wenn CI	Pipeline	bricht
à Skalierbarkeit
à Keine Plugin	Hölle
à Open	Source,	wir contributen!
WARUM GITLAB CI?
[1]:	https://www.fpcomplete.com/blog/2017/04/ci-build-process-in-code-repository
38
à Nicht die	aktuellste Gitlab Version	(8.16)
à Custom	variables	in	Pipelines	[1]
à Global/Group	Project	Templates
à Vererbung von	.gitlab-ci.yml [2]
à Runner	Concurrency	pro	Stage	[3]
à Docker	auf	3.x	Linux	Kernel	=	panic
HERAUSFORDERUNGEN
[1]:	https://gitlab.com/gitlab-org/gitlab-ce/issues/18711
[2]:	https://gitlab.com/gitlab-org/gitlab-ce/issues/20868
[3]:	https://gitlab.com/gitlab-org/gitlab-ce/issues/18224
@ThYpHoOn

Gitlab, Gitlab CI, Docker, Maven