https://github.com/bigbite/paddle
Commit to GitHub and have it automatically synced to SVN.
https://github.com/bigbite/paddle
Last synced: about 2 months ago
JSON representation
Commit to GitHub and have it automatically synced to SVN.
- Host: GitHub
- URL: https://github.com/bigbite/paddle
- Owner: bigbite
- License: gpl-2.0
- Created: 2015-07-21T13:03:50.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2015-07-22T15:53:37.000Z (almost 10 years ago)
- Last Synced: 2025-04-16T11:05:48.049Z (about 2 months ago)
- Language: PHP
- Homepage:
- Size: 1.19 MB
- Stars: 11
- Watchers: 13
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Paddle
> A modified [Ship](http://ship.getherbert.com).
Commit to GitHub and have it automatically synced to SVN.
* Supports maunal syncing of the latest or a specific commit.
* Works with Github organisations.
* Runs .paddle.sh before pushing to SVN (if it can find it within your git repository), helpful if you need to run composer or remove files etc.## Installation
If you're deploying with [Peggy](https://getpeggy.com/), it's really simple. Add it to Peggy, setup the [Environment](#environment), press Deploy.
Otherwise:
* `git clone [email protected]:bigbitecreative/pebble.git`
* Setup the [Environment](#environment)On each deploy there-after:
* `composer install`
* `php artisan cache:clear`
* `php artisan migrate --force`
* `php artisan optimize`
* `sudo supervisorctl reload`## Worker
You're going to need to setup a supervisor worker:
```ini
[program:paddle-queue-listener]
user=root
command=php /path/to/paddle/artisan queue:listen --tries=3 --sleep=3 --timeout=60
directory=/
stdout_logfile=/var/log/worker-paddle-queue-listener.log
redirect_stderr=true
autostart=true
autorestart=true
process_name=%(program_name)s_%(process_num)s
numprocs=5
numprocs_start=0
```## Cron
You're going to need to setup a cron job:
```sh
* * * * * php /path/to/paddle/artisan schedule:run 1>> /dev/null 2>&1
```## Environment
```ini
APP_ENV=production
APP_DEBUG=false
APP_KEY=32 Character Random StringDB_HOST=...
DB_DATABASE=...
DB_USERNAME=...
DB_PASSWORD=...CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=...MAIL_DRIVER=...
MAIL_HOST=...
MAIL_PORT=...
[email protected]
MAIL_USERNAME=...
MAIL_PASSWORD=...
MAIL_ENCRYPTION=nullWEBHOOK_SECRET=Random String
SVN_BINARY=/usr/bin/svnGITHUB_CLIENT_ID=...
GITHUB_CLIENT_SECRET=...SSH_KEY_PATH=null
GIT_BRANCH=master
```The environment follows basica Laravel environment rules (check Laravel's documentation for more information). For instance, if you want to use Mandrill for mail you can use these keys:
```ini
MAIL_DRIVER=mandrill
MANDRILL_SECRET=...
```If you wish to use Iron pull queues, then use theses keys:
```ini
QUEUE_DRIVER=ironIRON_HOST=...
IRON_TOKEN=...
IRON_PROJECT=...
IRON_QUEUE=...
```If you wish to use Beanstalkd:
```ini
QUEUE_DRIVER=beanstalkd
```etc.