All Projects → Argelbargel → Gitlab Branch Source Plugin

Argelbargel / Gitlab Branch Source Plugin

Licence: gpl-2.0
Jenkins-Plugin to create a multi-branch-project from gitlab

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Gitlab Branch Source Plugin

Node Build Monitor
A Build Monitor written in Node.js, which supports several build services and can be easily extended.
Stars: ✭ 336 (+342.11%)
Mutual labels:  jenkins, gitlab
Pipeline
Pipeline is a package to build multi-staged concurrent workflows with a centralized logging output.
Stars: ✭ 433 (+469.74%)
Mutual labels:  pipeline, jenkins
Threatmapper
Identify vulnerabilities in running containers, images, hosts and repositories
Stars: ✭ 361 (+375%)
Mutual labels:  jenkins, gitlab
gitlab-merger-bot
GitLab Merger Bot
Stars: ✭ 23 (-69.74%)
Mutual labels:  gitlab, pipeline
Linux Tutorial
《Java 程序员眼中的 Linux》
Stars: ✭ 7,757 (+10106.58%)
Mutual labels:  jenkins, gitlab
pipeline-as-code-with-jenkins
Pipeline as Code with Jenkins
Stars: ✭ 56 (-26.32%)
Mutual labels:  jenkins, pipeline
Ansible Playbooks
Ansible playbook collection that have been written for Ubuntu. Some of the playbooks are Elasticsearch, Mesos, AWS, MySql, Sensu, Nginx etc..
Stars: ✭ 429 (+464.47%)
Mutual labels:  jenkins, gitlab
pm2-githook
receive webhook from github/gitlab and ask pm2 to reload the application for you
Stars: ✭ 39 (-48.68%)
Mutual labels:  jenkins, gitlab
Cimonitor
Displays CI statuses on a dashboard and triggers fun modules representing the status!
Stars: ✭ 34 (-55.26%)
Mutual labels:  pipeline, gitlab
Jenkins Library
Shared Library for Jenkine Pipeline
Stars: ✭ 32 (-57.89%)
Mutual labels:  pipeline, jenkins
pipelines-as-code
Pipelines as Code
Stars: ✭ 37 (-51.32%)
Mutual labels:  gitlab, pipeline
Jenkins Os
Groovy pipeline jobs that build and test Container Linux with Jenkins
Stars: ✭ 43 (-43.42%)
Mutual labels:  pipeline, jenkins
rurality
开源运维平台设计及开发样例、CMS、RBAC、python开发教程、管理系统设计及开发样例、jenkinsfile(pipeline)/ansible使用教程,一切想到的,想不到的,应有尽有
Stars: ✭ 51 (-32.89%)
Mutual labels:  jenkins, pipeline
Skyhook
Parses webhooks and forwards them in the proper format to Discord.
Stars: ✭ 263 (+246.05%)
Mutual labels:  jenkins, gitlab
docker
collection of docker / docker-compose files, dind, gitlab, jenkins, mongo, mysql, oracle, rabbitmq, redis, sonarqube
Stars: ✭ 25 (-67.11%)
Mutual labels:  jenkins, gitlab
Jx
Jenkins X provides automated CI+CD for Kubernetes with Preview Environments on Pull Requests using Cloud Native pipelines from Tekton
Stars: ✭ 4,041 (+5217.11%)
Mutual labels:  pipeline, jenkins
infraverse
Infrastructure Platforms and Applications Comparison
Stars: ✭ 77 (+1.32%)
Mutual labels:  jenkins, gitlab
mypaas
MyPaas is an Ansible playbook for startups or small companies which want to build a modern and fully automated infrastructure.
Stars: ✭ 24 (-68.42%)
Mutual labels:  jenkins, gitlab
Opscloud
运维管理平台(阿里云),自动同步阿里云配置信息,堡垒机(容器),批量运维,Kubernetes,Zabbix管理等功能
Stars: ✭ 788 (+936.84%)
Mutual labels:  jenkins, gitlab
Jenkins Workflow
contains handy groovy workflow-libs scripts
Stars: ✭ 41 (-46.05%)
Mutual labels:  pipeline, jenkins

THIS PLUGIN IS DEPRECATED

Please use the "offical" (and properly released/maintained) Gitlab-Branch-Source-Plugin at https://jenkins.io/blog/2019/08/23/introducing-gitlab-branch-source-plugin/

Multibranch projects and organization folders from GitLab

Introduction

The GitLab Branch Source Plugin allows you to create a new project based on the repository structure based on your GitLab projects. It is heavily inspired by the GitHub Branch Source Plugin, builds upon the GitLab Plugin and uses the Gitlab Java API Wrapper for communication with GitLab.

The GitLab Branch Source Plugin scans your GitLab server for projects according to criteria you can specify. The only restriction is that your projects must contain a Jenkinsfile with the definition of the pipeline used to build the project. You can have different Pipeline scripts defined in project branches, or add and remove Jenkinsfiles depending on your use cases. After a project is imported, Jenkins immediately runs a job. Removing a Pipeline script from a branch or from the entire project, removes the item from the view. You can restrict imports on the GitLab Branch Source configuration page. Restrictions include regular expressions for origin branches, merge requests from the original projects or it's forks etc.

Like the GitHub Branch Source Plugin this plugin creates each repository as a folder containing each branch with a Jenkinsfile in the top level directory as a different job.

When the proper webhooks are configured, the GitLab Branch Source Plugins automatically detects new projects, branches and merge requests, adds new jobs accordingly and builds them. If Jenkins (or rather the user configured to communicate with GitLab) is allowed to do so, it will setup these webhooks automatically for you.

When Jenkins is allowed to do so build results will be reported back to GitLab. You can choose whether only the build result (success/failure) get reported or if Jenkins reports every stage defined in your pipeline.

GitLab merge requests

The GitLab Branch Source plugin allows the project to import merge requests originating either from branches in the original project or from forked projects as long as they also contain a Jenkinsfile with pipeline script. The following features are included:

  • merge requests are imported as separate jobs and can be either build from their current head or merged with the base branch
  • origin branches with merge requests can be configured to not be built automatically
  • you can configure whether merge requests will be built on every change or only when GitLab determines that they can be merged into the base branch
  • when Jenkins is allowed to do so you can configure the plugin so that it automatically accepts merge requests on when the build succeeds and optionally remove the merge requests's source branch.

Installation

This plugin is still under development. Thus you cannot install it via the Jenkins Update manager yet. Simply download the latest release into the plugins directory of your Jenkins. I'm not sure if the dependencies get installed automatically. If that is not the case, make sure to install these dependencies:

Creating a project

This plugin uses the GitLab Plugin for communication with GitLab. Thus before creating a GitLab Branch Source you'll have to setup a appropriate GitLab Connection. The user used to communicate with GitLab must have at least the developer role. To automatically register webhooks etc. the user must currently have administrator rights (to register the required system-hook). IT IS NOT RECOMMENDED TO USE THIS WHEN COMMUNICATING WITH YOUR GITLAB-SERVER VIA A PUBLIC NETWORK - REGISTER THE WEBHOOKS MANUALLY IN THIS CASE (see the configuration of the projects for the required webhook-urls).

Having created a working GitLab connection, simply create a new branch source via New Item > GitLab Projects. New Project

In the Projects section, complete the section for "GitLab Projects". Here you can also specify credentials which should be used to checkout your projects if anonymous read-access to your projects is disabled. Configure

Save, and wait for the "Project Scan" to run. Job progress is displayed to the left hand side. Scan

To see the imported projects click on "Status". Status

To see the imported branches/merge requests/tags and their build status, drill down by clicking on the appropriate links

Project-Details

Project Details

Details of Branches

Branch Details

Build-Details

Build Details

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].