Developers commonly deploy their software all the time when you consider a CI build that runs on each source code check-in. QA/testers will not deploy as often, and operations even less so. Deploying to a production environment will be done much less frequently than for a development environment, and for good reason.
A deployment script should be created that can be run for development, staging, and production environments. Any changes that are necessary in each environment can be managed with a properties files that is managed in version control. You can use, for example, an environment variable in the deployment script to differentiate the different environments.