Download the PHP package sagor/github-updater without Composer

On this page you can find all versions of the php package sagor/github-updater. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package github-updater

GithubUpdater for Laravel

Laravel Logo

Automated GitHub repository updates and Artisan command deployment pipeline for Laravel.

Laravel 5.5 to 13.x PHP 7.2 to 8.4+


๐Ÿ“– Overview

sagor/github-updater is a high-performance Laravel package designed to simplify and automate repository pulling and post-update deployment tasks. With support for Laravel 5.5 up to Laravel 13.x and PHP 7.2 through PHP 8.4+, it provides a seamless way to pull updates from private or public GitHub repositories and execute chained Artisan commands (migrations, seeders, cache clearing, optimization) in a single action.

Whether triggered via Artisan CLI or the built-in Web Terminal route (with real-time streaming output), github-updater ensures your application stays updated effortlessly.


โœจ Features


๐Ÿ—๏ธ Architecture & Execution Flow

The following diagram illustrates how requests flow through GithubUpdater:


๐Ÿ“‹ Compatibility Matrix

Technology Supported Versions Notes
Laravel Framework ^5.5, ^5.8, ^6.0, ^7.0, ^8.0, ^9.0, ^10.0, ^11.0, ^12.0, ^13.0 Full backward & forward compatibility
PHP Runtime ^7.2, ^7.4, ^8.0, ^8.1, ^8.2, ^8.3, ^8.4+ Handles cross-version polyfills & processes
Symfony Process ~3.4, ^4.4, ^5.0, ^6.0, ^7.0, ^8.0 Adapts dynamically to installed Symfony components

๐Ÿ“ฅ Installation

Install the package into your Laravel project using Composer:

Service Provider Registration

For Laravel projects using Package Auto-Discovery, the service provider will automatically register.

If auto-discovery is disabled in your project, manually add GithubUpdaterServiceProvider to the providers array in config/app.php:


โš™๏ธ Configuration

Publish the package configuration file to your application's config/ directory:

Or target the specific provider:

This creates config/github-updater.php:

Environment Variables (.env)

Add and configure the following variables in your project's .env file:

โš ๏ธ Security Reminder: Never commit your GITHUB_TOKEN to version control. Always set it inside server .env files.


๐Ÿš€ Usage

1. CLI Artisan Command

To perform an update directly from the command line or CI/CD deployment scripts:

What it does:

  1. Connects to GitHub using your configured authentication parameters.
  2. Executes git pull from the remote repository branch.
  3. Sequentially executes all Artisan commands listed in ARTISAN_COMMANDS.
  4. Outputs execution progress directly to stdout.

2. Web Interface (/github-pull)

Access the streaming terminal interface via browser:

Interface Highlights:

Customizing Middleware & Route Security

By default, the /github-pull route uses the web middleware group. To restrict access to authorized users or admins, group the route in your routes/web.php file:


๐Ÿ”’ Security Best Practices

  1. Protect Web Routes: Always wrap /github-pull with authentication middleware (auth, admin roles) to prevent unauthorized execution.
  2. Token Permissions: Scope your GitHub Personal Access Token (PAT) with minimum required permissions (repo:status, repo_deployment, or contents:read).
  3. Environment Security: Keep .env permissions strict (chmod 600 .env) on production servers.

๐Ÿงช Testing

The package includes a full PHPUnit test suite using Orchestra Testbench. To run unit and feature tests:

Test Coverage Includes:


๐Ÿ“„ License

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


๐Ÿ‘จโ€๐Ÿ’ป Author & Support

Developed and maintained by Md Sagor Hossain ([email protected]).

If you find this package helpful, please give it a โญ๏ธ on GitHub!


All versions of github-updater with dependencies

PHP Build Version
Package Version
Requires php Version ^7.2 || ^8.0
symfony/process Version ~3.4 || ^4.4 || ^5.0 || ^6.0 || ^7.0 || ^8.0
illuminate/support Version ^5.5 || ^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0 || ^12.0 || ^13.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package sagor/github-updater contains the following files

Loading the files please wait ...