In this section:
Environment Manager is an interface in Parasoft Continuous Testing Platform (CTP) for rapidly configuring and provisioning instances of your test environments. The Environment Manager Plugin for Jenkins enables you configure various actions needed for automated, continuous testing across your software delivery pipeline. You can configure build steps for:
Each Jenkins server communicates with one instance of CTP, but multiple Jenkins servers can communicate with the same instance of CTP.
You can add any number of Environment Manager build steps to a Jenkins job.
Deploy an environment | Provisions environments into the specific states needed for testing and optionally replicates environments and associated assets to different Virtualize servers (including servers dynamically-provisioned from Docker or other container technologies). See Configuring a Deploy an Environment Build Step. |
---|---|
Execute a test scenario job | Executes one of the test scenario jobs (tests suites that execute vs. specific environment configurations) available on the connected instance of Environment Manager. See Configuring an Execute a Test Scenario Job Build Step. |
Destroy an environment | Deletes "dirtied" test environments to ensure that subsequent tests always begin with a "clean" test environment. See Configuring a Destroy an Environment Build Step. |
Disconnect a Virtualize server | De-registers a specified Virtualize server from Environment Manager. See Configuring a Disconnect a Virtualize Server Build Step. |
This build step provisions environments into the specific states needed for testing. As an additional option, it can also replicate environments and associated assets to different Virtualize servers (including servers dynamically-provisioned from Docker or other container technologies). When you add a "Deploy an environment" build step, several new fields are available.
To configure this build step:
Env${BUILD_NUMBER}
Specify where you want the data repositories to be copied. You can configure the following options:
On the current Data Repository server | Creates a new copy on the same Data Repository server where the repositories currently exist. If you select this option, specify the Data Repository port, username, and password. |
---|---|
To a Data Repository server on the same host as the target Virtualize sever | Creates a new copy on the target Virtualize server specified in the area above the Duplicate associated data repositories before provisioning check box. If you select this option, specify the Data Repository port, username, and password. |
To a Data Repository server on a specific host | Creates a new copy on the specified Data Repository. If you select this option, specify the Data Repository host, port, username, and password. |
This plugin provides three different environment copying options to suit various needs. The first option requires the Virtualize server to be registered with Environment Manager when the job executes. The second and third will wait for the Virtualize server to be registered, and is thus the preferred option when you're dynamically deploying Virtualize servers via Docker or other container technologies.
To a Virtualize server registered with EM | Use this option to copy to a Virtualize server that is already registered with Environment Manager. Enable this option and select the desired server under Virtualize server. If this server is not registered with Environment Manager at the time the job executes, the job will fail. |
---|---|
To a Virtualize server matching host | You can configure the build step to wait for a Virtualize server with the specified host (IP), then perform the copy operation once that server is registered with Environment Manager. Use this option if the Virtualize server is not yet registered with Environment Manager, e.g., if it will be spun up via Docker or other automated processes. Enable this option and specify the expected host IP. |
To a Virtualize server matching name | You can configure the build step to wait for a Virtualize server with the Virtualize server name, then perform the copy operation once that server is registered with Environment Manager. Use this option if the Virtualize server is not yet registered with Environment Manager, e.g., if it will be spun up via Docker or other automated processes. Enable this option and specify the expected server name (the name it will use to register with Environment Manager). |
When Virtualize Server has a Dynamic IP
As long as the Virtualize server has a consistent name, you can configure the build step to copy to the Virtualize server with the specified name (e.g., the name it uses to register with Environment Manager). If the named Virtualize server is not yet registered with Environment Manager, the build step will wait for it, then perform the copy operation once that server is registered.
This build step executes one of the test scenario jobs (tests suites that execute vs. specific environment configurations) available on the connected instance of Environment Manager. You can also publish the test execution results to DTP.
Enable the By name to specify the name of a test scenario or enable From list and choose a test scenario from the drop-down menu.
If you enable the By name option to specify the test scenario, you can use Jenkins environment variables, such as ${JOB_NAME
}, to use the same name as the Jenkins job.
By default, the Abort the build on test failure option is disabled. Enable this option if you want to stop the build if a test fails.
Enable the Publish test execution results to DTP option and specify the DTP project, build ID, and session tag if want to be able to view the results in DTP.
If you want to include the execution environment setting (exec.env
) in the test results when SOAtest publishes to DTP, enable the Append variable set environment to session tag if configured option. This enables you to aggregate test data according to execution environment, which can be displayed in DTP widgets and reports, e.g.:
Refer to the DTP documentation for additional information about projects, build IDs, session tags, and other metadata associated with test and development artifacts.
This build step deletes "dirtied" test environments to ensure that subsequent tests always begin with a "clean" test environment. When you add a "Destroy an environment" build step, two new fields will display.
To configure this build step:
Env${BUILD_NUMBER}
This build step de-registers a specified Virtualize server from Environment Manager. When you add a "Disconnect a Virtualize server" build step, two new fields will display.
Enable one of the options and specify the host IP or server name in the field provided to disconnect a Virtualize server.
To view the console output for an in-progress job, click the progress bar in the Build History area. This opens a page with status details and links to the associated Environment Manager host and environments. To see details on a completed job, use the Console Output pull-down in the Build History area.
Version | Change |
---|---|
2.14 | Jenkins job using EM plugin stuck in running state (issue CTP-4559) |
2.13 | Build status page shows no failures even on failed TSTs (issue CTP-4549) |
2.12 | Improve dynamic deploy console output (issue CTP-4540) |
2.11 | Handle SKIPPED status for TSTs in jobs (issue CTP-4508) Version 2.10 (March 8, 2019) |
2.10 | Option to append variable set environment to session tag when publishing to DTP (issue CTP-4394) |
2.9 | Ability to continue build steps after a test scenario job fails (issue CTP-4307) |
2.8 | Upload test execution XML report to DTP |
2.7 | Allow users to parameterize the CTP Job name to a Jenkins environment variable in the Parasoft Environment Manager plugin (issue CTP-3942) |
2.6 | Improve API query performance for test execution jobs (issue CTP-4082) |
2.5 | Fix build step drop down not able to display more than 100 test execution jobs (issue CTP-2841) |