Home

Awesome

<img src="https://www.royvoetman.nl/images/packages/laravel-gitlab.svg" width="100%">

A Gitlab Storage driver for Laravel

Latest Version MIT Licensed Total Downloads

This package is a wrapper bridging Flysystem-Gitlab-storage into Laravel as an available storage disk.

Installation

composer require royvoetman/laravel-gitlab-storage

Add a new disk to your filesystems.php config

'gitlab' => [
    'driver'                => 'gitlab',
    'personal-access-token' => env('GITLAB_ACCESS_TOKEN', ''), // Personal access token
    'project-id'            => env('GITLAB_PROJECT_ID'), // Project id of your repo
    'branch'                => env('GITLAB_BRANCH', 'master'), // Branch that should be used
    'base-url'              => env('GITLAB_BASE_URL', 'https://gitlab.com'), // Base URL of Gitlab server you want to use
],

Access token (required for private projects)

Gitlab supports server side API authentication with Personal Access tokens

For more information on how to create your own Personal Access token: Gitlab Docs

Project ID

Every project in Gitlab has its own Project ID. It can be found at to top of the frontpage of your repository. See

Base URL

This will be the URL where you host your gitlab server (e.g. https://gitlab.com)

Usage

$disk = Storage::disk('gitlab');

// create a file
$disk->put('images/', $fileContents);

// check if a file exists
$exists = $disk->exists('file.jpg');

// copy a file
$disk->copy('old/file1.jpg', 'new/file1.jpg');

// move a file
$disk->move('old/file1.jpg', 'new/file1.jpg');

// See https://laravel.com/docs/filesystem for a full list of all the available functionality

Changelog

Please see CHANGELOG for more information what has changed recently.

Contributing

Contributions are welcome and will be fully credited. We accept contributions via Pull Requests on Github.

Pull Requests

License

The MIT License (MIT). Please see License File for more information.