why you can't ignore gitlab

60
Why you can't ignore GitLab anymore Ivan Nemytchenko, @inem, inem.at Developer Advocate at GitLab

Upload: pivorak-meetup

Post on 21-Jan-2017

533 views

Category:

Software


4 download

TRANSCRIPT

Page 1: Why you can't ignore GitLab

Why you can't ignore GitLab anymore

Ivan Nemytchenko, @inem, inem.at

Developer Advocate at GitLab

Page 2: Why you can't ignore GitLab

1. What is GitLab2. Awesome features

3. Contribution 4. Architecture5. ± Lean Poker

Page 3: Why you can't ignore GitLab

Standard behavior→ Github by default

→ Bitbucket when you don't want to upgrade→ GitLab - need to install and maintain :\

Page 4: Why you can't ignore GitLab

GitLab.com

Page 5: Why you can't ignore GitLab

GitLab.com

Private repositories for free

Page 6: Why you can't ignore GitLab

GitLab on your own server

Page 7: Why you can't ignore GitLab
Page 8: Why you can't ignore GitLab

Installation from source

Page 9: Why you can't ignore GitLab

Installation with omnibus

Page 10: Why you can't ignore GitLab

Update from source

Page 11: Why you can't ignore GitLab

Update from source

Page 12: Why you can't ignore GitLab

Update with omnibus

apt-get update gitlab-ce

Page 13: Why you can't ignore GitLab

Two ways to use GitLab for free

→ GitLab.com→ Install with omnibus

Page 14: Why you can't ignore GitLab

Features

Page 15: Why you can't ignore GitLab

[WIP]

Page 16: Why you can't ignore GitLab

TODOs

Page 17: Why you can't ignore GitLab

Merge when build succeds

Page 18: Why you can't ignore GitLab

GitLab Pages

Page 19: Why you can't ignore GitLab

Static Site Generators

Page 20: Why you can't ignore GitLab

YAMLMarkdown

HAMLSASS ↓

HTMLCSS

Page 21: Why you can't ignore GitLab

Github Pages

Page 22: Why you can't ignore GitLab

Jekylljekyllrb.com

Page 23: Why you can't ignore GitLab

...git push

Page 24: Why you can't ignore GitLab

...magic happens

Page 25: Why you can't ignore GitLab

yourwebsite.github.io

Page 26: Why you can't ignore GitLab

Middlemanmiddlemanapp.com

Page 27: Why you can't ignore GitLab

...middleman buildgit add publicgit commitgit push

Page 28: Why you can't ignore GitLab

staticgen.com

Page 29: Why you can't ignore GitLab

GitLab CI

Page 30: Why you can't ignore GitLab

Continuous Integration→ runs tests→ deployment

Page 31: Why you can't ignore GitLab
Page 32: Why you can't ignore GitLab
Page 33: Why you can't ignore GitLab

GitLab Pages + GitLab CI

Page 34: Why you can't ignore GitLab

GitLab Pages examplesgitlab.com/groups/pages

Page 35: Why you can't ignore GitLab

Fork & push changesgitlab.com/groups/pages

Page 36: Why you can't ignore GitLab

.gitlab-ci.yml

Page 37: Why you can't ignore GitLab

Runners

inem.at/gl_runner

Page 38: Why you can't ignore GitLab

pages.gitlab.io

Page 39: Why you can't ignore GitLab

GitLab Pages recap

→ Use with any static website generator→ Add custom domains to your site, and SSL

certificates→ Create custom error pages for your websites

→ It is FREE

Page 40: Why you can't ignore GitLab

CI with GitLab→ runs tests→ deployment

→ generate static websites→ generate code metrics→ generate documentation

Page 41: Why you can't ignore GitLab
Page 42: Why you can't ignore GitLab

Why contribute to GitLab

Page 43: Why you can't ignore GitLab

→ Get feedback→ Great addition to your resume

→ Get a job at GitLab

Page 44: Why you can't ignore GitLab

How to contribute to GitLab

Page 45: Why you can't ignore GitLab

→ Grab an issue→ Comment on it→ Create MR

→ Tests should pass

Page 46: Why you can't ignore GitLab

Everyone can contributeabout.gitlab.com/strategy

Page 47: Why you can't ignore GitLab

Architecture of the app

Page 48: Why you can't ignore GitLab

GitLab Development Kitgitlab.com/gitlab-org/gitlab-development-kit

Page 49: Why you can't ignore GitLab

→ MVC→ Services→ Finders

Page 50: Why you can't ignore GitLab

Services

class CreateSnippetService < BaseService def execute if project.nil? snippet = PersonalSnippet.new(params) else snippet = project.snippets.build(params) end

unless Gitlab::VisibilityLevel.allowed_for?(current_user, params[:visibility_level]) deny_visibility_level(snippet) return snippet end

snippet.author = current_user

snippet.save snippet endend

Page 51: Why you can't ignore GitLab

Finders

Page 52: Why you can't ignore GitLab

Everyone can contributeabout.gitlab.com/strategy

Page 53: Why you can't ignore GitLab

Lean Pokerleanpoker.org

Page 54: Why you can't ignore GitLab
Page 55: Why you can't ignore GitLab

def bet_request(game_state)

end

Page 56: Why you can't ignore GitLab
Page 57: Why you can't ignore GitLab
Page 58: Why you can't ignore GitLab
Page 59: Why you can't ignore GitLab

What is GitLab?Opinionated and integrated set of tools based on convention over configuration that offers superior

user experience

Page 60: Why you can't ignore GitLab

Thank youinem.at/pivorak