Slide 1

Slide 1 text

DevOps at GNOME With Flatpak and GitLab Carlos Soriano Sanchez GNOME developer at Red Hat

Slide 2

Slide 2 text

Overview · Flatpak & GitLab ● Building a GNOME app old style ● Project planning ● Stability & buildability ● Design QA User ● Reproducibility ● Feedback cycle ● GitLab basics ● Flatpak basics ● GitLab CI · Welcome To Hell · DevOps ● CI + Flatpak ● Bundles & continuous delivery ● Flatpak & reliability ● Full new cycle

Slide 3

Slide 3 text

Welcome To Hell - Building GNOME

Slide 4

Slide 4 text

WTH - Buildability & stability Go d k

Slide 5

Slide 5 text

WTH - Reproducibility Different environments for Developers Designers QA Users

Slide 6

Slide 6 text

WTH - Project Planning

Slide 7

Slide 7 text

WTH - Design QA User Ideally Mockups & iteration Try out WIP’s in real life Difference between versions Little/Non technical

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

WTH - Feedback Cycle Everyone follows the developer path Ideally though Early feedback One click All visual Optimized path per each type of person

Slide 10

Slide 10 text

Overview · Flatpak & GitLab ● Building a GNOME app old style ● Project planning ● Stability & buildability ● Design QA User ● Reproducibility ● Feedback cycle ● GitLab basics ● Flatpak basics ● GitLab CI · Welcome To Hell · DevOps ● CI + Flatpak ● Bundles & continuous delivery ● Flatpak & reliability ● Full new cycle

Slide 11

Slide 11 text

GitLab basics From scratch for DevOps All integrated: Idea -> Design -> Implementation -> CI -> QA -> CD Support for non technical teams

Slide 12

Slide 12 text

GitLab basics

Slide 13

Slide 13 text

GitLab basics

Slide 14

Slide 14 text

GitLab CI Similar to Travis Pipelines, stages, artifacts, deployments… Schedules

Slide 15

Slide 15 text

GitLab CI

Slide 16

Slide 16 text

Flatpak - Basics

Slide 17

Slide 17 text

Flatpak - Basics Container technologies Sandboxed Not dependent on host Same environment Versioned (Sdk, Runtime, etc.)

Slide 18

Slide 18 text

Flatpak - Basics

Slide 19

Slide 19 text

Flatpak - Basics

Slide 20

Slide 20 text

Overview · Flatpak & GitLab ● Building a GNOME app old style ● Project planning ● Stability & buildability ● Design QA User ● Reproducibility ● Feedback cycle ● GitLab basics ● Flatpak basics ● GitLab CI · Welcome To Hell · DevOps ● CI + Flatpak ● Full new cycle ● Bundles & continuous delivery

Slide 21

Slide 21 text

DevOps - CI + Flatpak DEMO TIME

Slide 22

Slide 22 text

DevOps - CI + Flatpak Pre-merge CI ✓ Same environment across ✓ Fast - 4h to 3min ✓

Slide 23

Slide 23 text

DevOps - Bundles & CD DEMO TIME

Slide 24

Slide 24 text

DevOps - Bundles & CD Generated installable bundle per MR ✓ Design, QA, Users workflow ✓ Only installation required ✓

Slide 25

Slide 25 text

DevOps - Full cycle Report or Proposal Design Implementation QA & users Iteration

Slide 26

Slide 26 text

Thank you! [email protected]