Commit to GitHub and have it automatically synced to SVN.
PHP CSS JavaScript Other
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
app
bootstrap
bower_components
config
database
gulp
public updated the favicon Jul 22, 2015
resources
src
storage
tests
.editorconfig
.env.example
.gitattributes
.gitignore
.paddle.sh
LICENSE
README.md
artisan
bower.json
composer.json
composer.lock
deploy.json
gulpfile.js
package.json
phpspec.yml
phpunit.xml
server.php
webpack.config.js

README.md

Paddle

A modified Ship.

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, it's really simple. Add it to Peggy, setup the Environment, press Deploy.

Otherwise:

  • git clone git@github.com:bigbitecreative/pebble.git
  • Setup the 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:

[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:

* * * * * php /path/to/paddle/artisan schedule:run 1>> /dev/null 2>&1

Environment

APP_ENV=production
APP_DEBUG=false
APP_KEY=32 Character Random String

DB_HOST=...
DB_DATABASE=...
DB_USERNAME=...
DB_PASSWORD=...

CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=...

MAIL_DRIVER=...
MAIL_HOST=...
MAIL_PORT=...
MAIL_FROM_ADDRESS=admin@paddle.app
MAIL_USERNAME=...
MAIL_PASSWORD=...
MAIL_ENCRYPTION=null

WEBHOOK_SECRET=Random String
SVN_BINARY=/usr/bin/svn

GITHUB_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:

MAIL_DRIVER=mandrill
MANDRILL_SECRET=...

If you wish to use Iron pull queues, then use theses keys:

QUEUE_DRIVER=iron

IRON_HOST=...
IRON_TOKEN=...
IRON_PROJECT=...
IRON_QUEUE=...

If you wish to use Beanstalkd:

QUEUE_DRIVER=beanstalkd

etc.