Hubado is a system for running Ellucian Banner components in a Docker Compose environment. It integrates with Jenkins to function as an ESM deploy target, and automatically configures and deploys the applications.
Hubado is a project maintained by Harding University, and is unaffiliated with Ellucian. It is in use at Harding, but should be considered experimental at present. Hubado is released under the MIT license.
-
Keep your environment configuration in a single file, and stop plugging the same information into multiple
config.properties
and*configuration.groovy
files -
Standardize your Tomcat configuration across components and environments
-
Single-command startups, shutdowns, and restarts of the entire environment, with optional scripts provided for automating restarts
-
Single-command update of all Tomcat servers in environment
-
Collaborate with other universities on configuration
-
Supported Banner components:
- Access Management
- Admin Common
- Application Navigator
- Communication Management
- Ellucian Ethos API Management Center
- Extensibility
- Integration API
- Student API
- Business Process API (beta)
- ...and more to come!
-
Provision a Linux server to host the Hubado instance.
-
In ESM's Jenkins instance, define a new node for the Hubado instance:
-
Log in to Jenkins, click
Manage Jenkins
, thenManage Nodes and Clouds
, and thenNew Node
. -
Give the node a descriptive name, like
HUBADO
; selectPermanent Agent
and clickCreate
. Fill in the following values:Description
: the node's nameRemote root directory
:/opt/jenkins
Labels
: the node's nameUsage
:Only build jobs with label expressions matching this node
Afterwards, click "Save".
-
-
Click the node in the listing, and note the value passed to the
-secret
flag in theRun from agent command line
box. -
In ESM and the environment this Hubado instance will run in, create a machine with a descriptive name, filling in the following values:
Machine Role
:App
Host Name
: your host servers's hostnameIP
: your host system's IPDeployment Agent Name
: the Jenkins node name defined aboveIP
(again, under `Public Network): your host system's IPBanner 9 War File Staging Path
:/deploy
-
Continuining in ESM, create a Tomcat app server with a descriptive name, with the follinwg values:
Machine
: the machine defined aboveCatalina WebApps Path
:/war
-
On the host server, install Docker and Docker Compose.
-
Run
git clone https://github.com/harding-university/hubado.git
andcd hubado
. -
cp Makefile.local.example Makefile.local
and editMakefile.local
, filling in values for your environment. -
Obtain
ojdbc8.jar
andxdb6.jar
(such as from$ORACLE_HOME/jdbc/lib/
on your Oracle server) and place invendor/
-
Copy a SSL certificate for the URL given in
BANNER9_ROOT
inMakefile.local
tovolumes/ssl/combined.pem
-
Run
make images
to build the Docker images -
Run
make up
to start the environment