Application Deployment

Build, deploy and run the main end-to-end POB data pipeline.

Last Updated: 26 May 2022 • Page Author: Jillur Quddus

Overview

This page provides instructions on how to build, deploy and run the main POB data pipeline in a self-managed environment. The main POB data pipeline instantiates and executes all the enabled procurement framework parser classes and publisher classes that have been registered in application.yml.

It is recommended that you configure and integrate the steps described in this page into a CI/CD pipeline to automate build, testing and deployment.

Prerequisites

1) Please ensure that you have selected, provisioned, configured and deployed to your self-managed environment all the relevant third-party software services required by POB as per the following check list:

2) Install the required build tools as described in Build from Source.

3) Clone the POB source code repository from GitHub as described in Build from Source.

4) Ensure that you have entered the correct configuration into the Spring bootstrap.yml and application.yml property files respectively, relevant to your self-managed environment. In particular ensure that pipelines.main.enabled and pipelines.main.scheduler.enabled are set to true, and that a valid Spring-based CRON schedule is defined in pipelines.main.scheduler.cron based on how frequently you would like the main POB data pipeline to run. By default, the main POB data pipeline is scheduled to run every 20 minutes.

Ensure that any environment variables referenced in bootstrap.yml are set in your self-managed environment prior to running any of the POB applications.

5) Compile and build the POB services and applications as described in Build from Source.

Main Data Pipeline

Assuming that you have successfully followed the prerequisite instructions above, POB provides an out-of-the-box Spring Boot application that wraps around the main POB data pipeline, thus enabling it to be periodically executed based on the CRON schedule defined in pipelines.main.scheduler.cron. The Spring Boot application for the main POB data pipeline may be found in the $POB_BASE/pob-apps/pob-apps-spring/pob-app-data-pipelines-scheduler Maven module.

Deployment

Please follow the instructions below to deploy and run the main POB data pipeline Spring Boot application in a self-managed environment.

1) Ensure that any environment variables referenced in bootstrap.yml are set in your self-managed environment.

2) Navigate to $POB_BASE/pob-apps/pob-apps-spring/pob-app-data-pipelines-scheduler and run the Spring Boot application (which has been compiled and packaged as an executable JAR file following the compilation and build of the POB apps from source as described in step 5 in the prerequisites section above) as follows:

# Navigate to the relevant project folder
$ cd $POB_BASE/pob-apps/pob-apps-spring/pob-app-data-pipelines-scheduler

# Run the packaged Spring Boot application
$ java -Dserver.port=8801 -jar target/pob-app-data-pipelines-scheduler-2.0.0.jar

The Java VM argument -Dserver.port=8801 will configure the embedded Apache Tomcat servlet engine to listen for requests on the given port number (in this case 8801).

Assuming that step 2 above runs successfully, the main POB data pipeline will run periodically based on the CRON schedule defined in pipelines.main.scheduler.cron.

Last updated