Note that there are some explanatory texts on larger screens.

plurals
  1. POHow might I improve my development and deployment strategy?
    primarykey
    data
    text
    <p>I am working on a web application that runs on the LAMP stack (Linux Apache Mysql PHP) and would like recommendations on improving my workflow.</p> <p>I have 3 environments:</p> <ol> <li>My local machine AKA my <strong>development</strong> environment</li> <li>A <strong>staging</strong> account on my dedicated server so that I can test the web app</li> <li>A <strong>production</strong> account on my dedicated server</li> </ol> <p>I do all the development on my local computer and use a subversion server which is located on my dedicated server. I set up a hook script so that whenever I commit, my "staging" account is updated with the new code.</p> <p>Once in a while I make sure that everything works fine on the staging account and push the changes to my production account via a small script. </p> <p>This works well enough for the most part, but there are a couple of irritations: </p> <ul> <li><p>My domain name is hard-coded in a couple of places, making it time-consuming to switch between environments. I can modify my hosts file manually but it's not exactly fast and it doesn't work for the 2 accounts (prod/staging) on the same server.</p></li> <li><p>I've no way of keeping the database up-to-date across all three environments. I could use the same database for all environments but I would have to take the risk of breaking the production environment. </p></li> </ul> <p>So, my question is: what could I do to mitigate these problems?</p> <p><strong>UPDATE:</strong> The hard coded domain issue is introduced by a 3rd party software and therefore, "not hard coding it" is not an option at the moment.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload