Supported transports to publish stubs to a Dockerfile and build context
Review the transports that support publishing stubs to a Dockerfile and build context along with any considerations to build a Docker image that contains stubs and run that image in a Docker container.
Transport | Directory under outputDirectory/UserLibs to which third-party library files are automatically copied. Where blank this entry is not applicable. (See explanation in Automatic copying of library files.) | Manual copying of files to the output directory. Where blank this entry is not applicable. | Are rule host and port environment variables required when you run a Docker image in the Docker container? (See explanation in Rule related environment variables.) |
---|---|---|---|
File | No | ||
FIX | Yes if you are routing to the stub by using the HTTP/TCP proxy. | ||
HTTP | Yes if you are routing to the stub by using the HTTP/TCP proxy. | ||
JMS | JMS | Yes if you are using the sift-and-pass-through stubbing mode. | |
Kafka | |||
MQTT | Yes if you are routing to the stub by using the HTTP/TCP proxy. | ||
RabbitMQ | |||
SAP RFC | SAP | The libsapjco3.so file must be manually copied to the SAP directory. | Yes |
Software AG webMethods Integration Server | webMethods | Yes | |
TCP | Yes if you are routing to the stub by using the HTTP/TCP proxy. | ||
TIBCO EMS | TIBCO | Yes if you are using the sift-and-pass-through stubbing mode. | |
TIBCO Rendezvous | TIBCO | The following files must be manually copied
to the TIBCO directory:
|
No |
TIBCO SmartSockets | TIBCO | No | |
UDP | |||
WebSphere® Application Server Service Integration Bus (SIBus) | WAS | Yes if you are using the SIBus Mediation, for example to allow sift-and-pass-through stubbing. | |
WebSphere® MQ | WMQ | No |
Automatic copying of library files
When you publish a stub to a Dockerfile and build context, the library files (JAR files) required by one or more transports that are used by the stub are automatically copied to the output directory. The files are copied from the location that you configured in the Library Manager.
The files are copied to directories under outputDirectory/UserLibs. Before you build the Docker image, it might be necessary to manually copy or update the files in these directories.
When you copy over additional support files for a specific transport, typically shared libraries,
then these files must be for the target operating system that the Docker image is using. The target
operation system can be determined by looking at the FROM
line within the
Dockerfile. In the default template present within HCL OneTest™ API, the
target operating system is Ubuntu 14.04.
Rule related environment variables
When
you run the Docker container, you can specify a number of environment
variables that relate to routing rules. These variables have names
that begin with RULE
. See Running stubs in a Docker container.
For each supported transport, some of these variables might be required
to allow communication between the stub, HCL®
Quality Server,
and the intercept, for example HTTP/TCP Proxy.
Where the table indicates that the variables are required, you must supply the RULE_HOST and RULE_PORTS variables or supply the RULE_ENDPOINT_FILE variable when you run the container. For information about these variables, see Running stubs in a Docker container.
Other rule-related variables, for example RULE_SERVER, are optional.