We have moved our forum to GitHub Discussions. For questions about Phalcon v3/v4/v5 you can visit here and for Phalcon v6 here.

Phalcon project deployment to EC2

Hi, I am going to deploy my local phalcon project to an EC2 ubuntu server. I am using git, and I have my code in a remote repository in github.com. Can somebody give me links, and resource of how to make an auto & continuous deployment from my local project (or from github) to the ec2? I also wants to make a script for initiating new ec2 ubuntu instace that helps me to

  • setup php and mysql,
  • initiate and import the initial database and structure
  • setup apache2 virtual host
  • etc, etc If you know a link or resource for learning this task, Please share :)

auto & continuous deployment can be achieved using github hooks - take a look here https://stackoverflow.com/questions/7832586/setting-up-git-on-ec2-to-pull-from-github-repo and here https://gist.github.com/aronwoost/1105010 For the 'making script' you may use puppet, but I think for the first time it's better just use apt-get install and other simple commands.



I have made an elegant solution myself. I've created a CLI tool that can provision a website, add new servers etc. I might share the code once the project becomes more stable. The base setup consists of having a salt-master provisioning new servers using salt-cloud. It is, however required to have a 'master server' but that can easily be your localhost machine. I've written the provision app using \Phalcon\CLI. Let me know if you're interested so i can start working towards open-sourcing this solution.

What my tool does and can do:

  • Add a new server instance with nginx (but can easily be extended to configure apache and mysql or other services)
  • Provision a website from a git repository (you can even specify a branch)
  • Update/set any configuration files
  • Separated staging and production clusters
  • Automatically add new instances to a load balancer

We are still working on the tool, and it works under our conditions. But if you want to be a beta-tester then let me know.

Btw the above comment is mine, weird github outage caused problems.