The context
I code simple projects.
Let say that the project is hosted at http://thomasdt.com/myproject
Most of the time, I am the only developper. I code from different platform : iPad, Pc and Mac.
My solution
I will detail here my coding process
I Use dropbox
I work in a folder myproject_dev inside dropbox folder
These is where the last version of my development is located
To edit the file depending on the platform, I use :
- Coda on mac (https://panic.com/coda/)
- Coda on iPad
- Notepad++ on PC
I use beanstalkapp (http://beanstalkapp.com) as my private git repository (a free account is ok)
When I would like to test live my code : I push my dev files from my dev folder to beanstalkapp
beanstalkapp keep a version of all my work help my colleagues to review the code.
beanstalkapp is set up to automatically deploy my dev file to a ftp server.
I use ovh and a public dev folder http://thomasdt.com/myproject_dev
This is a php-sql project so :
- I maintain a duplicate of the public database
- If you are browsing the application through :
- http://thomasdt.com/myproject, the php files are pointing to the live database
- http://thomasdt.com/myproject_dev, the php files are pointing to the test database
When I would like to push the dev to the live site. I commit my files with the keyword: [deploy: production] and the files are also pushed to the production ftp server.
If I need to alter the sql database structure, I do it in a sql.php file rather than in phpmyadmin. This sql.php file is automatically triggered (like a web hook) by beanstalkapp just before deploying the file to the development and production server.
Things I could improve
- On windows, I am pushing files to git with Git Bash and this is not optimal. I could find a better IDE with integrated git.