rcravens / devops-laravel

9 stars 5 forks source link

Devops Platform for Quickly Deploying Laravel Applications

There are two features provided by this platform:

  1. Server Provisioning - Provision an Ubuntu server with the necessary packages to run Laravel applications.
  2. Application Management - Deploy multiple laravel applications to a single server and have Zero Downtime Deployments from a git based repository.

Getting Started

There are two approaches to getting started:

  1. Use the provided Amazon AWS CloudFormation stack to create your infrastructure in AWS.

Here is a "how to" video for the CloudFormation deployment (released: April 19):

IMAGE ALT TEXT HERE

  1. If you have an existing server, then clone this repo into the Ubuntu server where the Laravel application will be hosted. Be sure to clone into a directory that is accessible by all users (e.g., /usr/local/bin/deploy )

Provisioning

  1. First update the db_root_password and php_version in the ./config.sh file
  2. Update the ./provision/provision_ubuntu_20_04.sh script to include the packages you want by uncommenting the code
  3. Run the ./provision/provision_ubuntu_20_04.sh script

Here is a "how to" video for the provisioning (released: April 23):

IMAGE ALT TEXT HERE

Application Management

If the following commands are not available, run the ./common/create_aliases.sh script to create the aliases in your bash profile. You may need to "re-source" to make those work.

As the root user should have the following commands available to you:

Here is a "how to" video for application management (released April 26):

IMAGE ALT TEXT HERE

Release Management / Deployment

Once you have an application deployed, you will have the following available to you as the deployment user:

Here is a "how to" video for release management (release April 30):

IMAGE ALT TEXT HERE