Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Features, benefits, and implementation of GitLab at Pole Star

Features, benefits, and implementation of GitLab at Pole Star

Radu Potop

July 12, 2019
Tweet

More Decks by Radu Potop

Other Decks in Technology

Transcript

  1. Developer show and tell
    Features, benefits, and implementation of GitLab at Pole Star.
    Radu P.

    View full-size slide

  2. Main Features
    Source Code Management (SCM)
    Built-in Continuous Integration (CI) and
    Continuous Delivery (CD)
    WebIDE
    Powerful runners infrastructure
    Docker Container Registry
    Performance and Health Monitoring
    Auto devops(*)

    View full-size slide

  3. Source Code Management (SCM)
    Review, track, approve code changes with Merge Requests.
    Branch code, make changes, then quickly merge code.
    Robust WebIDE enables quick edits, e.g. solving conflicts
    Git based repositories
    Simplify auditing and compliance with granular access controls
    and reporting. (*)
    Automatically scan for code quality and security with every
    commit. (**)

    View full-size slide

  4. CI / CD is built-in to GitLab
    Continuous Integration
    Developers share their new code in a Merge (Pull) Request, which
    triggers a pipeline to build, test, and validate the new code before
    merging the changes in your repository.
    Continuous Delivery
    delivers CI validated code to your application.
    Together
    CI and CD accelerate how quickly your team can deliver results for
    your customers and stakeholders. CI helps you catch and reduce
    bugs early in the development cycle, and CD moves verified to
    your applications faster.

    View full-size slide

  5. Continuous Integration
    Detects errors as quickly as possible: fix problems while fresh
    in developers mind
    Reduces integration problems: smaller problems are easier to
    digest
    Avoid compounding problems: allows teams to develop faster,
    with more confidence

    View full-size slide

  6. Continuous Delivery
    Ensures every change is releasable: test everything, including
    deployment, before calling it done
    Lowers risk of each release: makes releases "boring"
    Delivers value more frequently: reliable deployments mean
    more releases
    Tight customer feedback loops: fast and frequent customer
    feedback on changes

    View full-size slide

  7. Runners
    A GitLab Runner is an application which processes builds.
    Very configurable runners:
    Multi-platform ( ) and Multi-language ( )
    Parallel builds
    Multiple runners for different repos ( shared and specific
    runners).
    Flexible pipelines: you can define multiple parallel jobs per
    stage and you can trigger other builds.
    Realtime logging

    View full-size slide

  8. Runners (continued)
    Autoscaling: we can automatically spin VMs up and down to
    make sure builds get processed immediately
    Docker support: we can use custom Docker images, spin up
    services as part of testing, build new Docker images, even run
    on Kubernetes (*)
    Versioned pipelines: the .gitlab-ci.yml file contains the
    tests and overall process steps
    Runners can be deployed separately and works with GitLab
    through an API.

    View full-size slide

  9. Case study
    From a previous company:
    Gitlab Community Edition (CE) running on AWS EC2 (from a
    pre-built gitlab-ce AMI image)
    Runners executing on the local high-spec devbox
    (actual box in the office!! )
    Different runners for different repos, some shared, some
    specific (dedicated)
    Auto deployment to Testing.
    One click deployment to Staging and Production!

    View full-size slide

  10. Screenshots
    Multiple stage pipeline with automated deployment
    to Staging and one-click deployment to Production.

    View full-size slide

  11. Screenshots
    Configuring specific and shared runners for different apps.

    View full-size slide

  12. Benefits to developers
    Great integration between SCM and CI/CD
    Simplified deployment to Testing, Staging, Production
    Flexible pipelines with automated and one-click deployments
    Multiple runners, autoscaling
    Docker Container Registry
    Container debugging with an integrated web terminal
    Prometheus monitoring (*)

    View full-size slide

  13. Benefits to business
    Two variants:
    Community Edition (open source, self hosted, AMI images)
    Enterprise Edition (managed by Gitlab, various pricing levels)
    The Enterprise Edition lowers the entry barrier - no need to
    setup an instance or the runners
    The Community Edition supports the purchase of a
    Commercial License - which switches on enterprise features.
    Cycle Analytics (*)
    Better overview of the current state of the pipeline
    Great integration with Slack

    View full-size slide

  14. Useful links
    https://about.gitlab.com/devops-tools/jenkins-vs-gitlab.html
    https://about.gitlab.com/product/continuous-integration/
    https://about.gitlab.com/product/cycle-analytics/
    Tech
    https://docs.gitlab.com/ee/ci/quick_start/
    https://docs.gitlab.com/ee/ci/runners/

    View full-size slide

  15. Demo
    http://gitlab.polestar-testing.com

    View full-size slide

  16. Thanks
    Questions?

    View full-size slide