/I-GitlabCI.md

Open R&Day 2019 quick talk

Primary LanguageHTML

title: I ❤ Gitlab CI author: name: I'm Adrien, frontend developer email: a.gibrat@oodrive.com theme: ./theme controls: false output: index.html

--

I Gitlab CI

Gitlab logo

-- screen

What are we talking about?

Gitlab pipeline

--

Simple & Bold

Fully versioned along source [in a simple .gitlab-ci.yml file](https://docs.gitlab.com/ce/ci/yaml/)

Self-contained execution [using Docker](https://docs.gitlab.com/ce/ci/docker/using_docker_images.html)

Easy to setup & use [with extensive documentation](https://docs.gitlab.com/ce/ci/introduction/)

--

Gitlab CI @ Oodrive

Frontend team happily switched from Jenkins 1.x in 2016

no plugins [biggest Jenkins strength & weakness](https://news.ycombinator.com/item?id=17902882)

run in isolation [only environment variables are injected](https://docs.gitlab.com/ce/ci/variables/)

well integrated [with other gitlab features](https://about.gitlab.com/features/)

--

Covers various use cases

Successful for multiple pipeline types

--

What does it look like ?

Few examples how we use Gitlab CI

-- screen

Pipelines show jobs status at each step

Visible pipeline details [in Merge Request view ](https://about.gitlab.com/2016/07/29/the-basics-of-gitlab-ci/)

Gitlab Pipeline in MR

-- screen full

Jobs log task execution & keep artifacts

Easy to read logs [ansi colors support](https://gitlab.com/gitlab-org/gitlab-ce/issues/37898)

Save artifacts between jobs [to access it later](https://docs.gitlab.com/ce/user/project/pipelines/job_artifacts.html)

Gitlab CI Job view

-- screen large

Using template allow DRY CI settings

Reusable versioned templates [with include & extends](https://docs.gitlab.com/ce/ci/yaml/#include)

Gitlab CI yaml

--

Last tips