This topic provides high-level information about deploying DTP to Docker. In this section:
Introduction
Some organizations may be required to deploy their development and testing infrastructure to a dynamic environment, such as Docker, Amazon AWS, or Microsoft Azure to comply with internal or external policies. The policies may be driven by failover or disaster recovery requirements or security-related initiatives, but regardless of the impetus, containerizing DTP provides makes the platform more portable and flexible in the event that new, consistently-configured instances need to be made available quickly.
Architecture Considerations
A DTP deployment consists of the following parts:
- database for storing code analysis, coverage, test execution, and other data sent to DTP
- DTP data directory (<DTP_DATA>) that contains configuration files, extensions, and other dynamic components that determine how DTP runs
- DTP application directory (<DTP_INSTALL>) that contains the core applications, such as Report Center, Data Collector, etc.
Whether deploying to traditional or containerized environment, the database is typically installed on a different server or machine than where DTP is installed and is covered by a separate security or high-availability procedure.
The DTP data directory, however, should be installed in a location where the data can persist outside of the image so that it can be mounted to the container as necessary. Doing so enables you to quickly connect the data directory to new images of the DTP application directory in the event that there is a problem that requires a new instance of DTP to be deployed. Any clones created from the containerized deployment will have different machine IDs and will require a separate license.
On Windows, the data directory is always located the %ProgramData%\Parasoft\DTP directory. The Linux installer prompts you to specify a location for the data directory. In both cases, you need to ensure that the directory can be decoupled from an old instance and accessible to the new instance. Refer to the documentation for your environment vendor for instructions on how to mount persistent storage directories to your container or cloud-deployed VM.
Requirements
Your container images must meet the same requirements specified in the Requirements section. Refer to the Docker or cloud environment vendor documentation for information on configuring images or VMs that meet DTP's requirements.
Deployment Process
There is no difference between installing DTP on a containerized and a static system. Refer to the New DTP Installations section for information about the installation process. Refer to the documentation for your cloud environment vendor for information about configuring server instances.
Pushing Containers to Cloud Environments
You can deploy containerized instances of DTP to dynamic infrastructure, such as Amazon AWS or Microsoft Azure, which enables you to alleviate management overhead associated with maintaining your own host environment. Refer to the documentation for your cloud environment for additional information.