-
Notifications
You must be signed in to change notification settings - Fork 0
Building TIBCO BusinessEvents
You can build OCI container images for TIBCO BusinessEvents application using your favourite tools docker or buildah.
- See Preparing for TIBCO BusinessEvents Containerization
- If you choose to build container image with
docker
Install from here. - If you choose to build container image with
buildah
Install from here.
TIBCO BusinessEvents provides the build_image
script for building images of TIBCO BusinessEvents application and its components at BE_HOME\cloud\docker
. Use the --image-type
as below for the respective images:
-
app
- To build the Container image for your TIBCO BusinessEvents application. -
s2ibuilder
- To build the S2I Container image for your TIBCO BusinessEvents application. -
rms
- To build the Container image for RMS. -
teagent
- To build the Container image for TIBCO BusinessEvents Enterprise Administrator Agent.
Usage: build_image.sh
[-i/--image-type] : Type of the image to build ("app"|"rms"|"teagent"|"s2ibuilder") [required]
[-a/--app-location] : Path to BE application where cdd, ear & optional supporting jars are present
Note: Required if --image-type is "app"
Optional if --image-type is "rms"
Ignored if --image-type is "teagent" or "s2ibuilder"
[-s/--source] : Path to BE_HOME or TIBCO installers (BusinessEvents, Activespaces or FTL) are present (default "../../")
[-t/--tag] : Name and optionally a tag in the 'name:tag' format [optional]
[-d/--docker-file] : Dockerfile to be used for generating image [optional]
[--gv-provider] : Name of GV provider to be included in the image ("consul"|"http"|"custom") [optional]
To add more than one GV use comma separated format ex: "consul,http"
Note: This flag is ignored if --image-type is "teagent"
[--disable-tests] : Disables docker unit tests on created image (applicable only for "app" and "s2ibuilder" image types) [optional]
[-b/--build-tool] : Build tool to be used ("docker"|"buildah") (default is "docker")
Note: s2ibuilder image and docker unit tests not supported for buildah.
[-o/--openjdk] : Uses OpenJDK instead of tibcojre [optional]
Note: Place OpenJDK installer archive along with TIBCO installers.
OpenJDK can be downloaded from https://jdk.java.net/java-se-ri/11.
[--optimize] : Enables container image size optimization [optional]
When CDD/EAR available, most of the modules are identified automatically.
Additional module names can be passed as comma separated string. Ex: "process,query,pattern,analytics"
Supported modules: analytics, as2, as4, cassandra, eclipse, ftl, http, ignite, influx, kafka, kinesis, liveview, mqtt, opentelemetry, pattern, process, query, soap, sqlserver, store & streambase.
[-h/--help] : Print the usage of script [optional]
NOTE : supply long options with '='
Note for the Windows platform
- Use
build_image.bat
script and enclose all arguments in double quotes ("). - Flags
disable-tests
andbuild-tool
not applicable in windows environment. - If you are building from a Windows machine behind a firewall, you may see error like - "Unable to connect to the remote server". In such case you need to configure your firewall to allow all traffic on the nat virtual adapter which is only used by containers.
-
--optimize
flag requires perl dependency. Install perl from here. - If you are running
build_image.bat
from powershell tool. You need to supply comma separated values inside'
quotes . Example usage:build_image.bat -i app -a C:\apps\tibcoprodcuts\app\be620\inmem -s C:\apps\tibcoprodcuts\inst\be620 --optimize '"http,test1"' --gv-provider '"http,consul"' -t apptest:v1
-
Docker version 18.09 introduces
BuildKit
for the improved docker build performance. By defaultbuild_image
script usesBuildKit
for the better build time. It can be disabled by usingexport DOCKER_BUILDKIT=0
. -
Openshift's Source-to-image toolkit can be downloaded from here. This toolkit is used to build TIBCO BusinessEvents application image from TIBCO BusinessEvents S2I Builder image.
-
s2ibuilder
Image is not supported withbuildah
tool. -
--disable-tests
is not supported withbuildah
tool.
By default every BE application container image is built with full runtime capabilities irrespective of whether the application needs/uses it. You can use the optimization option while building the image to include only required capabilities, so that the resulting image will not only be customized to your specific needs but this process helps significantly reduce the image size as well.
Various dependencies (jars, libs, etc...) pertaining to all optional BE runtime capabilities are classified and tagged under appropriate module names depending on the nature of the functionality they offer. For instance all AS2 dependencies are tagged with a module name "as2".
You can enable optimization using the option --optimize
When this option is used, based on the CDD
and EAR
, modules required for the application are identified and all the other modules dependencies are excluded from the container image.
To know all supported modules, Try ./build_image.sh --help
Example usage: Below command will generate an image with optimization solely based on the configurations available in the CDD
and EAR
, with no additional modules.
./build_image.sh -i app \
-s /home/user/tibco/installers \
-a /home/user/tibco/be/6.2/examples/standard/FraudDetection \
--optimize \
-t fdapp:01
process
, query
, pattern
and analytics
modules need to be provided by the user explicitly. You can supply these additional modules as a comma separated string.
Example usage: Below command will generate an image with optimization based on the configurations available in the CDD
and EAR
as well as include process
& query
modules.
./build_image.sh
-i app \
-s /home/user/tibco/installers \
-a /home/user/tibco/be/6.2/examples/standard/FraudDetection \
--optimize "process,query" \
-t fdapp:01
Next Topic: Running TIBCO BusinessEvents
Parent Topic: Containerize TIBCO BusinessEvents