aklump / loft-deploy
A bridge across website instances/environments to simplify the exchange of database and files not under SCM.
Installs: 105
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 3
Forks: 0
Open Issues: 0
Language:Shell
Requires
- php: >=5.6
- aklump/loft-lib: ^1
- jakeasmith/http_build_url: ^1
- justinrainbow/json-schema: ^5.2
- symfony/yaml: ^3.4|^4|^5
- dev-master
- 0.22.1
- 0.22.0
- 0.21.8
- 0.21.7
- 0.21.6
- 0.21.5
- 0.21.4
- 0.21.3
- 0.21.2
- 0.21.0
- 0.20.0
- 0.19.0
- 0.18.3
- 0.18.2
- 0.18.1
- 0.18.0
- 0.17.8
- 0.17.7
- 0.17.6
- 0.17.5
- 0.17.4
- 0.17.3
- 0.17.2
- 0.17.1
- 0.17.0
- 0.16.7
- 0.16.6
- 0.16.5
- 0.16.4
- 0.16.3
- 0.16.2
- 0.16.1
- 0.16.0
- 0.15.40
- 0.15.39
- 0.15.38
- 0.15.37
- 0.15.36
- 0.15.35
- 0.15.34
- 0.15.33
- 0.15.32
- 0.15.31
- 0.15.30
- 0.15.29
- 0.15.28
- 0.15.27
- 0.15.26
- 0.15.25
- 0.15.24
- 0.15.23
- 0.15.22
- 0.15.21
- 0.15.20
- 0.15.19
- 0.15
This package is auto-updated.
Last update: 2024-10-30 01:32:03 UTC
README
Summary
A bridge across website instances/environments to simplify the exchange of database and files not under SCM. This was first written having Drupal in mind, though it works for other frameworks as well.
Visit https://aklump.github.io/loft_deploy for full documentation.
Quick Start
Before you begin, to save from lot's of password entries, you should ensure key-based authentication is working between server instances.
Add to your codebase:
$ cd /path/to/local/app
$ composer require aklump/loft-deploy
Add the following to .gitignore for your project.
.loft_deploy/
Now deploy across environments as you would any other change.
On your production server do the following to configure it:
$ cd /path/to/production/app
$ ./vendor/bin/loft_deploy.sh init prod
$ ./vendor/bin/loft_deploy.sh config
$ ./vendor/bin/loft_deploy.sh configtest
$ ./vendor/bin/loft_deploy.sh config-export
On your local machine, configure it, adding the snippet generated in the previous step via config-export
.
$ cd /path/to/local/app
$ ./vendor/bin/loft_deploy.sh init dev
$ ./vendor/bin/loft_deploy.sh config
$ ./vendor/bin/loft_deploy.sh configtest
Now pull your non SCM assets from production to local:
$ ./vendor/bin/loft_deploy.sh pull
Requirements
- Composer
- PHP
- Key-based server authentication
Using the ldp
command
To make working with Loft Deploy easier you should install the ldp
command,
which allows you to execute vendor/bin/loft_deploy.sh from any directory
within your project.
Installation
-
After Composer installing aklump/loft-deploy, place a symlink to ./vendor/bin/ldp.sh somewhere $PATH can find it, e.g.,
$ cd ~/bin $ ln -s /path/to/app/vendor/bin/ldp.sh ldp
-
Now use
ldp
as the command to execute loft_deploy.sh from within any directory in your project, e.g.,$ cd /path/to/app/ $ ldp info $ cd /path/to/app/web/modules $ ldp info
Multiple Projects Using Loft Deploy?
No problem because ldp.sh works across all versions of Loft Deploy, the symlink to project A will work for project B and C. That is to say, you need only install one symlink for many projects, even if those many projects have different versions of Loft Deploy installed.
Configuration
The configuration file may be edited in one of two ways:
$ ldp config
(using$EDITOR
)- Open /path/to/app/.loft_deploy/config.yml in your editor of choice.
Be sure to test your configuration until you see no warnings $ ldp configtest
.
See also configuration
Usage
See inner documentation for how to use.
Contributing
If you find this project useful... please consider making a donation.
Contact The Developer
In the Loft Studios
Aaron Klump - Web Developer
sourcecode@intheloftstudios.com
360.690.6432
PO Box 29294 Bellingham, WA 98228-1294