PHPackages                             sulaimanmisri/easy-deploy - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [DevOps &amp; Deployment](/categories/devops)
4. /
5. sulaimanmisri/easy-deploy

ActiveLibrary[DevOps &amp; Deployment](/categories/devops)

sulaimanmisri/easy-deploy
=========================

A simple Laravel package to simplify deployment commands

v1.2.0(10mo ago)7164MITPHPPHP ^7.3|^8.0

Since Jan 27Pushed 10mo ago1 watchersCompare

[ Source](https://github.com/msulaimanmisri/easy-deploy)[ Packagist](https://packagist.org/packages/sulaimanmisri/easy-deploy)[ RSS](/packages/sulaimanmisri-easy-deploy/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (3)Dependencies (3)Versions (5)Used By (0)

[![EasyDeploy Image](public/easy-deploy.png)](public/easy-deploy.png)

Easy Deploy for Laravel Application
===================================

[](#easy-deploy-for-laravel-application)

Easy Deploy is a Laravel package that simplifies deployment automation. It combines common tasks like migrations, cache management, and queue restarts into a single Artisan command, ensuring smooth and efficient deployments with minimal effort

About the Author
----------------

[](#about-the-author)

Hi, I'm Sulaiman Misri. Currently I'm working as a Senior Full Stack Engineer at one of the Big Four Companies in Malaysia (Property). If you find this package useful, feel free to check out my [portfolio](https://sulaimanmisri.com) for more information about me and my freelance services.

Table of Contents
-----------------

[](#table-of-contents)

- [Prerequisites](#prerequisites)
- [Installation](#installation)
- [Usage](#usage)
- [Configuration](#configuration)
- [CI/CD Integration](#cicd-integration)
- [Testing](#testing)
- [Contributing](#contributing)
- [About the Author](#about-the-author)

Prerequisites
-------------

[](#prerequisites)

- Laravel 9.x or higher
- PHP 7.3 or higher (Laravel 12 need to use PHP version 8.2 minimum)

Installation
------------

[](#installation)

1. Install the package via Composer

```
composer require sulaimanmisri/easy-deploy
```

2. Run the installation wizard:

```
php artisan easy-deploy:install
```

That's it for the installation. Your application is ready to run the script.

Usage
-----

[](#usage)

### Run the deployment automation command:

[](#run-the-deployment-automation-command)

```
php artisan easy-deploy:run
```

Configuration
-------------

[](#configuration)

### "What kind of command does this package run for me?"

[](#what-kind-of-command-does-this-package-run-for-me)

- You can check the default commands in this page [in this page](docs/default-command.md)

### Adding a custom command

[](#adding-a-custom-command)

To add a custom command, edit the `commands` array in the `easy-deploy.php` config file:

```
'commands' => [
    'php artisan migrate --force',
    'php artisan cache:clear',
    'your-custom-command',
],
```

CI/CD Integration
-----------------

[](#cicd-integration)

### Example Integration with CI/CD Pipelines

[](#example-integration-with-cicd-pipelines)

Simply add the command to your CI/CD pipeline script:

```
# GitHub Actions example
- name: Deploy Application
  run: php artisan easy-deploy:run

# GitLab CI example
deploy:
  script:
    - php artisan easy-deploy:run

# Jenkins example
sh 'php artisan easy-deploy:run'
```

Testing
-------

[](#testing)

### Running Tests

[](#running-tests)

This package comes with comprehensive tests to ensure reliability. To run the tests:

```
# Install dev dependencies first
composer install

# Run all tests
composer test

# Or run tests directly with PHPUnit
./vendor/bin/phpunit
```

### Test Groups

[](#test-groups)

Tests are organized into groups for better control:

```
# Run only core feature tests
./vendor/bin/phpunit --group=core

# Run only unit tests
./vendor/bin/phpunit tests/Unit/

# Run only feature tests
./vendor/bin/phpunit tests/Feature/
```

### Coverage Report

[](#coverage-report)

Generate a detailed coverage report to see test coverage:

```
# Generate HTML coverage report
./vendor/bin/phpunit --coverage-html coverage

# View coverage report
open coverage/index.html
```

### Test Structure

[](#test-structure)

The package includes:

- **Unit Tests**: Test individual classes and methods
- **Feature Tests**: Test complete workflows and integrations
- **Configuration Tests**: Validate config file structure and defaults
- **Command Tests**: Test Artisan commands execution

### Contributing Tests

[](#contributing-tests)

When contributing to this package, please ensure:

1. All new features have corresponding tests
2. Tests follow the existing patterns using `#[Test]` attributes
3. Feature tests are marked with `#[Group('core')]`
4. Maintain 100% code coverage for new code

### Testing Your Configuration

[](#testing-your-configuration)

You can test your deployment configuration without running actual deployment:

```
# Test with empty commands (should show error message)
php artisan config:set easy-deploy.commands "[]"
php artisan easy-deploy:run

# Test with valid commands
php artisan config:set easy-deploy.commands '["php --version", "composer --version"]'
php artisan easy-deploy:run

# Reset to defaults
php artisan config:clear
```

### Debugging Failed Tests

[](#debugging-failed-tests)

If tests fail in your environment:

1. **Check PHP version compatibility**:

    ```
    php --version  # Should be 7.3+ for Laravel 9-11, 8.2+ for Laravel 12
    ```
2. **Verify Composer dependencies**:

    ```
    composer validate
    composer install --no-dev --optimize-autoloader
    ```
3. **Run specific failing test**:

    ```
    ./vendor/bin/phpunit tests/Feature/DeploymentCommandTest.php --filter="deployment_command_executes_successfully"
    ```
4. **Clear any cached files**:

    ```
    php artisan config:clear
    php artisan cache:clear
    ```

Contributing
------------

[](#contributing)

We welcome contributions to Easy Deploy! Here's how you can help:

### Development Setup

[](#development-setup)

1. **Fork and clone the repository**:

    ```
    git clone https://github.com/your-username/easy-deploy.git
    cd easy-deploy
    ```
2. **Install dependencies**:

    ```
    composer install
    ```
3. **Run tests to ensure everything works**:

    ```
    composer test
    ```

### Making Changes

[](#making-changes)

1. **Create a feature branch**:

    ```
    git checkout -b feature/your-feature-name
    ```
2. **Make your changes and add tests**:

    - Add new features with corresponding tests
    - Update existing tests if needed
    - Ensure all tests pass
3. **Follow coding standards**:

    - Use PSR-12 coding standard
    - Add proper DocBlocks
    - Use `#[Test]` attributes for test methods
    - Mark feature tests with `#[Group('core')]`
4. **Submit a pull request**:

    - Provide a clear description of your changes
    - Include any relevant issue numbers
    - Make sure CI tests pass

### Reporting Issues

[](#reporting-issues)

If you find a bug or have a feature request:

1. **Check existing issues** to avoid duplicates
2. **Provide detailed information**:
    - Laravel version
    - PHP version
    - Steps to reproduce
    - Expected vs actual behavior
3. **Include relevant code samples** if applicable

###  Health Score

34

—

LowBetter than 77% of packages

Maintenance58

Moderate activity, may be stable

Popularity15

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity46

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~79 days

Total

3

Last Release

309d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/b90923eece16811793cf6e8696d1f2db7252f1b3cf60f502b0c8e15710d0b057?d=identicon)[serversulaiman](/maintainers/serversulaiman)

---

Top Contributors

[![msulaimanmisri](https://avatars.githubusercontent.com/u/47172118?v=4)](https://github.com/msulaimanmisri "msulaimanmisri (8 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/sulaimanmisri-easy-deploy/health.svg)

```
[![Health](https://phpackages.com/badges/sulaimanmisri-easy-deploy/health.svg)](https://phpackages.com/packages/sulaimanmisri-easy-deploy)
```

###  Alternatives

[slimkit/plus

The Plus(ThinkSNS+) is a powerful, easy-to-develop social system built with Laravel.

2.2k2.4k](/packages/slimkit-plus)[laravel-fans/docker

Full Laravel production environment for Docker

4311.3k](/packages/laravel-fans-docker)[downtoworld/laravel-devops

Laravel Cloudflare-Tunnels Ready Production Docker-Compose

161.1k](/packages/downtoworld-laravel-devops)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
