Frontend DevOps Cycle
using GitLab
GitLab Commit – London, October 9th 2019
#GitLabCommitUnrestricted © Siemens 2019
Max Wittig
DevOps Engineer
@max-wittig
Roger Meier
Principal Key Expert
@bufferoverflow
Unrestricted © Siemens 2019
Page 3 #GitLabCommit
The Live Coding Environment
# We are using a very simple Angular app
# with a Node.js backend
# join us now:
$ git clone https://gitlab.com/siemens/todo
Let’s push to GitLab!
Unrestricted © Siemens 2019
Page 5 #GitLabCommit
Goals
• Reduce manual review work
• Improve maintainability
• Let people use any editor
• Detect style issues as early as possible
• Simplify maintainers life
Lint
Demo: local commit + fast failing pipeline
Unrestricted © Siemens 2019
Page 6 #GitLabCommit
Goals
• Don’t rely on people
• Build every configuration
• Run unit and e2e tests within CI
Build and test the application
Demo: Show unit test results, coverage and live browser demo
Unrestricted © Siemens 2019
Page 7 #GitLabCommit
Goals
• Don’t want to give >30.000 users privileged access (no DinD)
• Enables container builds for everybody, while still preserving security
Container Builds
Demo: Show docker image build and pushed
Unrestricted © Siemens 2019
Page 8 #GitLabCommit
Goals
• Scan every container image
• No DinD
• OS and package vulnerabilities
• Detect if base image has to be updated
Container Security
Demo: Show trivy scan
Unrestricted © Siemens 2019
Page 9 #GitLabCommit
Release and deploy
Goals
• Avoid rebuilds of containers è use Crane
• Deploy only tested and tagged versions to prod
Unrestricted © Siemens 2019
Page 10 #GitLabCommit
Error Tracking using Sentry
Demo: Send issue to sentry.io and show in GitLab
Goal
• Notice errors before the users do
Unrestricted © Siemens 2019
Page 11 #GitLabCommit
Security in the long run
Goals
• Ensure security even without activity on the project
Thank you and Goodbye
GitLab Commit 2019

Frontend DevOps Cycle using GitLab

  • 1.
    Frontend DevOps Cycle usingGitLab GitLab Commit – London, October 9th 2019 #GitLabCommitUnrestricted © Siemens 2019
  • 2.
    Max Wittig DevOps Engineer @max-wittig RogerMeier Principal Key Expert @bufferoverflow
  • 3.
    Unrestricted © Siemens2019 Page 3 #GitLabCommit The Live Coding Environment # We are using a very simple Angular app # with a Node.js backend # join us now: $ git clone https://gitlab.com/siemens/todo
  • 4.
  • 5.
    Unrestricted © Siemens2019 Page 5 #GitLabCommit Goals • Reduce manual review work • Improve maintainability • Let people use any editor • Detect style issues as early as possible • Simplify maintainers life Lint Demo: local commit + fast failing pipeline
  • 6.
    Unrestricted © Siemens2019 Page 6 #GitLabCommit Goals • Don’t rely on people • Build every configuration • Run unit and e2e tests within CI Build and test the application Demo: Show unit test results, coverage and live browser demo
  • 7.
    Unrestricted © Siemens2019 Page 7 #GitLabCommit Goals • Don’t want to give >30.000 users privileged access (no DinD) • Enables container builds for everybody, while still preserving security Container Builds Demo: Show docker image build and pushed
  • 8.
    Unrestricted © Siemens2019 Page 8 #GitLabCommit Goals • Scan every container image • No DinD • OS and package vulnerabilities • Detect if base image has to be updated Container Security Demo: Show trivy scan
  • 9.
    Unrestricted © Siemens2019 Page 9 #GitLabCommit Release and deploy Goals • Avoid rebuilds of containers è use Crane • Deploy only tested and tagged versions to prod
  • 10.
    Unrestricted © Siemens2019 Page 10 #GitLabCommit Error Tracking using Sentry Demo: Send issue to sentry.io and show in GitLab Goal • Notice errors before the users do
  • 11.
    Unrestricted © Siemens2019 Page 11 #GitLabCommit Security in the long run Goals • Ensure security even without activity on the project
  • 12.
    Thank you andGoodbye GitLab Commit 2019