webregulate/deploy-helper

An easy to use cli interface for deploying changes, commits, files etc, and the ability to run npm commands, and deploying builds to a live server

v1.1.12 2024-06-24 09:23 UTC

This package is auto-updated.

Last update: 2025-03-24 11:00:37 UTC


README

-- Installation --

1. Require with composer

composer require webregulate/deploy-helper --dev

2. IMPORTANT: Add the following to your .gitignore file

deployhelper.json

3. Run the install script

php ./vendor/webregulate/deploy-helper/install.php

This will create the default deployhelper.json config, and deployhelper PHP script in the root of your project.

4. Setting up deployhelper.json

Note that you can use {env:keyName} to inject the current value of an environment variable into the command. This is useful for setting up the build directory, application directory, and other environment specific values.

{
    "config": {
        "commands": {
            "deploy": [
                "local rmdir /s /q \"{env:buildDirectory}\"",
                "local cd {env:applicationDirectory} && npm run build",
                "git",
                "build"
            ]
        }
    },
    "environments": {
        "devserver": {
            "remoteBasePath": "/home/unixuser/",
            "localPrivateKeyPath": "/local/path/to/private/key",
            "host": "example.com",
            "user": "unixuser",
            "pass": "unixpassword",
            "port": 22,
            "applicationDirectory": "laravel_application",
            "buildDirectory": "public_html/build",
            "activeGitChangesIgnoreFiles": ["*deployhelper*", "*.htaccess", "*.env", "*rundev.bat"]
        },
        "production": {
            "remoteBasePath": "/home/unixuser2/",
            "localPrivateKeyPath": "/local/path/to/private/key",
            "host": "example2.com",
            "user": "unixuser2",
            "pass": "unixpassword2",
            "port": 22,
            "applicationDirectory": "laravel_application",
            "buildDirectory": "public_html/build",
            "activeGitChangesIgnoreFiles": ["*deployhelper*", "*.htaccess", "*.env", "*rundev.bat"]
        }
    }
}

Note you can add or remove any of the groups (such as the devserver and production groups above) based on your setup. Only one is required.

-- Running DeployHelper --

Run with php

php ./deployhelper

More help coming soon...