Development configuration scenario
A development environment is a pre-production environment used by developers to collaborate on a development project. The environment may emulate the production environment but often uses a simpler deployment model than production as scalability does not tend to be an issue given the number of transactions that a development environment is expected to process.
A development environment may be as simple as a single server with embedded services such as embedded ActiveMQ, embedded databases, and embedded Solr. Alternatively, any or all of these services could be configured as standalone applications.
Given that development environments often deal with experimental changes, they are often rebuilt so it is recommended to consider creating a VM or Docker image of the environment so that it can be restored as quickly and easily as possible.
Switching between package properties
This comes in handy when you have multiple types of environments and you frequently switch between these
environments. You can create a package property file per environment and when shifting environments, you can specify
which properties file to use via the
A staging environment differentiates itself by emulating a production environment. In a staging environment, you will move your project from the development server to a staging server that is configured with a network and data model as close to the production environment as possible. Staging environments are usually used to sanity check changes to a project using a copy of production data. Once the project has passed a quality assurance check, then it can be moved to the production environment.
Remote package deployment
You can deploy packages from one server to another using Martini's remote package deployment feature; this makes it easy to copy your Martini packages from the development server to the staging server.