why you can't ignore gitlab
Post on 21-Jan-2017
519 Views
Preview:
TRANSCRIPT
Why you can't ignore GitLab anymore
Ivan Nemytchenko, @inem, inem.at
Developer Advocate at GitLab
1. What is GitLab2. Awesome features
3. Contribution 4. Architecture5. ± Lean Poker
Standard behavior→ Github by default
→ Bitbucket when you don't want to upgrade→ GitLab - need to install and maintain :\
GitLab.com
GitLab.com
Private repositories for free
GitLab on your own server
Installation from source
Installation with omnibus
Update from source
Update from source
Update with omnibus
apt-get update gitlab-ce
Two ways to use GitLab for free
→ GitLab.com→ Install with omnibus
Features
[WIP]
TODOs
Merge when build succeds
GitLab Pages
Static Site Generators
YAMLMarkdown
HAMLSASS ↓
HTMLCSS
Github Pages
Jekylljekyllrb.com
...git push
...magic happens
yourwebsite.github.io
Middlemanmiddlemanapp.com
...middleman buildgit add publicgit commitgit push
staticgen.com
GitLab CI
Continuous Integration→ runs tests→ deployment
GitLab Pages + GitLab CI
GitLab Pages examplesgitlab.com/groups/pages
Fork & push changesgitlab.com/groups/pages
.gitlab-ci.yml
Runners
inem.at/gl_runner
pages.gitlab.io
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
CI with GitLab→ runs tests→ deployment
→ generate static websites→ generate code metrics→ generate documentation
Why contribute to GitLab
→ Get feedback→ Great addition to your resume
→ Get a job at GitLab
How to contribute to GitLab
→ Grab an issue→ Comment on it→ Create MR
→ Tests should pass
Everyone can contributeabout.gitlab.com/strategy
Architecture of the app
GitLab Development Kitgitlab.com/gitlab-org/gitlab-development-kit
→ MVC→ Services→ Finders
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
Finders
Everyone can contributeabout.gitlab.com/strategy
Lean Pokerleanpoker.org
def bet_request(game_state)
end
What is GitLab?Opinionated and integrated set of tools based on convention over configuration that offers superior
user experience
Thank youinem.at/pivorak
top related