Deploying Eggplant Functional (Fusion Engine) in Containers
Intended Audience: Test developers familiar with using Git source control software workflows, automated pipelines, and containerized software.
Eggplant Functional's script execution engine is also known as the Eggplant Fusion Engine. The Fusion Engine is essentially Eggplant Functional running in command-line mode. When we refer to Eggplant Functional running in a container, we usually refer to it as the "Fusion Engine." However, we refer to it as both on this page.
You can integrate Eggplant Functional (EPF) tests into your continuous integration/continuous delivery (CI/CD) pipelines by deploying EPF in a container. To run in a container, you launch EPF with its runscript
command. The runscript
command can run EPF without its graphical user interface (GUI) from a command-line interface (CLI), which allows it to run in a container.
This page covers following topics:
Methods for Running Eggplant Functional (Fusion Engine) in a Container
You can run Eggplant Functional (Fusion Engine) in a container in one of two ways:
-
By passing a specific Eggplant SenseTalk test script to run as an argument with the
runscript
command. In this scenario, Eggplant Fusion Engine only runs for the duration of the specified script run. Below is an examplerunscript
command for this scenario:runscript /tests/Demo.suite/Scripts/check_tutorial_sut.script
For more information the
runscript
options available when you run the Eggplant Fusion Engine this way, see The Runscript Command, Running fron the Command Line, and Runscript Command Line Options. -
By running in Drive Mode, where you pass the
drivemode yes -driveport <port>
arguments with therunscript
command to run Eggplant Fusion Engine as a background service. Drive Mode provides a simple XML-RPC interface that other applications, such as the Eggplant DAI Run Agent, can use to send messages to and from Eggplant Fusion Engine. In Drive Mode, Eggplant Fusion Engine runs continuously to receive and send messages until you or a process explicitly stops it. Below is an examplerunscript
command for Drive Mode:runscript driveport 5400 -CommandLineOutput yes
For more information about the options available when you run Fusion Engine in Drive Mode, see About Eggdrive and Using Eggdrive with Eggplant Functional.
Container Image Options
To run Eggplant Functional (Fusion Engine) in a container (to containerize it), you have the following options:
-
You can use the prebuilt images as described in Using the Prebuilt Eggplant Functional Container Images.
-
You can build your own as described in Building Your Own Container Image.
Be sure to review the prerequisites below to ensure you have everything you need to run the Eggplant Fusion Engine in a container.
Container Prerequisites
To run Eggplant Functional (Fusion Engine) in a container, you need the following software:
General Requirements
Requirement | Notes |
---|---|
Git source control software | The latest version, if you plan to run your Fusion Engine container in a Gitlab pipeline. |
container software | Such as Docker, Ranger, or Red Hat Linux (RHEL) Podman or the pre-configured Eggplant Functional (Fusion Engine) container images, available in the Quay.io reository or Iron Bank repositories |