1 of 10

Phase 2: Multibranch Pipeline Support for GitLab

2 of 10

Introduction

Hi, I am Parichay from India.

Mentors:

  • Marky Jackson
  • Justin Harringa
  • Joseph Peterson

parichay@baymac.me

Open Source Contributor and DevOps Enthusiast.

3 of 10

GitLab Server Configuration

Features

Lightweight Plugin

Jenkins Configuration as Code

Multiple server entries

GitLab Token Creator

New GitLab API Plugin

New Jenkins version - 2.150.3

4 of 10

GitLab Branch Source Plugin

Features

Multi Branch Pipeline Jobs

Folder Organization

Checkout over SSH/HTTPS

Groups/Subgroups support

Webhooks Support [WIP]

Pipeline Status Notifier

Reduced API Calls

SCM Trait APIs

5 of 10

New SCM Trait APIs

  • Skip Notification - Doesn’t notify GitLab about pipeline status.
  • WebHook Mode - Override default webhook management mode.
  • Checkout Over SSH - Use this mode to checkout over ssh.
  • Tag Discovery - Discover tags in the repository.

Additional traits can be added by extending `GitLabSCMSourceContext` class.

6 of 10

DEMO 🚀

7 of 10

Where to find it?

$ java -jar plugin-management-tool.jar

-p gitlab-branch-source:experimental

-d <path-to-default--jenkins-plugins-directory>

-w <path-to-jenkins-war>

8 of 10

How to talk to us?

9 of 10

Plans for the next sprint

  • Improve the performance of the plugin (there is a lot of scope for that)
  • Fix bugs
  • Improve UI
  • Implement new features (like tags build strategies etc.)
  • Work on `GitLab Blue Ocean Plugin`

10 of 10

THANK YOU