Table of Contents
Developer Workflow
work in progress, not final
General Overview
The dev server has the linux firewall enabled and only IPs that are on the list are allowed to connect to the server.
There is a dev site that can be accessed at https://master.beacontechnology.com
It is possible for the developer to make changes to dev and preview them without affecting production.
Since the database is synced from prod to dev, work must be performed with this in mind.
Static assets and generated content are not tracked in git, or pushed from dev to prod. This is taken into account in beaconsync.sh and beaconpublish.sh
Code is to be modified, then when the code is in a state that you are ready to publish, commit work to the local dev repo, then run the beaconpublish.sh script with sudo. The script will manage everything.
Making Changes
To make changes, ssh to username@dev.beacontechnology.com
You should be automatically logged in as masterbeacon user.
The website files are located at /home/masterbeacon/public_html
Change the files as needed.
When done and ready to publish, stage and commit all changes using git commit -a
This will commit changes to the local repo.
Publishing Changes
To publish changes, just run sudo /root/scripts/beaconpublish.sh
That script will do everything necessary to move changes from dev to prod. This involves invoking rsync and moving the files.
Then it runs necessary commands on prod to get the files exposed for public_html
Syncing Database and Files
The database and static files are copied from prod to dev on a daily basis between 3AM and 4AM. The script also has some basic logic to manage having a set up backups of the database.
To make the script run early, just run the command: sudo /root/scripts/beaconsync.sh