Forums

How to turn my PAW site into a 'staging' site and make a new 'production' copy?

I have a functioning Django site up at larapsodia.pythonanywhere.com, but I need to do a lot more development on it and I don't want to keep having the site go down while I'm working on it. So what I'd like to do is keep the existing site as a staging/development site, and make a production copy (hosted on PAW). How do I do that?

Some details:

  • The site currently uses the SQLite database, which I obviously wouldn't want for the production site but I'm unsure how to change it
  • I currently have the "Hacker" plan but am willing to upgrade if necessary
  • I've bought a domain name for the production site (tunisiandictionary.org)
  • I'm using git for version control, but this is the first time I've used it, so I'm not familiar with using it to deploy the site or anything like that

And, most importantly: I'm an amateur/hobbyist, so step-by-step would be much appreciated.

Thanks!

PS — I have some ideas that I might go something like this:

  1. Upgrade my account so I can have multiple apps
  2. Set up a new Django app
  3. Point my new domain name to that site, following the instructions here
  4. Do something with git, to copy the site into the new app and update it in the future (I'm really fuzzy about this part, but imagine that I can probably find a tutorial for that on git's site).

That's how I'm guessing I'll need to go about it, but I'd like some confirmation that I'm on the right track before I upgrade my account and begin a new app.

That's pretty much it. Here's little more detail where you're fuzzy:

  1. Yes, you will need to upgrade
  2. Use git to copy your current site to new directory that you will deploy from (for more detailed instructions, we'll need to know more about your setup - are you using github or bitbucket or is your git only local?)
  3. Use "Manual configuration" to connect a new web app to the new directory (there are detailed instructions here)
  4. Yes, but like the 2nd step, we'll need more detail to be helpful.

Thank you, that's very helpful. I've only been using git for local version control ('local' being on PAW, not on my PC), so I've never done anything with GitHub or anything. What else do you need to know?

If you want to keep it local, then you can clone your current git repo like this

git clone <the directory where your current git repo is> <the directory where your deploy one will live>

then you can develop in your staging repo and commit to git. When you're ready to deploy, switch to the deployment repo, do a git pull and reload your web app.

Thanks, Glenn. I got it all set up now and it's working great. It was basically the steps I figured, but I had to redo it a few times because I had them in the wrong order. (I learned that I can't clone into a directory that already exists, so I needed to clone my project before I created the application in PAW.)

For posterity, it was:

  1. Uprgrade my account
  2. Point my domain name to username.pythonanywhere.com, following the instructions in this wiki and from GoDaddy
  3. Git clone my project folder ('development') to a new directory ('production'), according to your instructions
  4. Set up a virtualenv with Django 1.8
  5. Create a new website on PAW, pointing the wsgi to my 'production' directory and the virtualenv to my 'django18' virtualenv

It was actually quite easy, once I had done it three or four times. :-)

Thanks again for your help!

It was actually quite easy, once I had done it three or four times. :-)

LOL -- I think we probably need to do better on the intuitiveness of our UI then. Still, glad you got it working :)

No worries! Your UI is very good. I only had to do it several times because I'm a newbie on Git and VirtualEnv, and kept screwing one of those up. :-)