Environments
The Shared Collection Service Bus (SCSB) is a middleware application deployed in AWS. Environment details are listed below:
Environment | URL | Purpose | Dockerized | Notes |
Dev | Dev environment | Yes | Meant only for developers to test latest code. | |
Dev ETL process UI | The UI through which ETL process can be initiated | Yes | To be used to load bib records from MarcXML files. | |
Dev Solr | Solr Indexes | No | Will be blocked in TST/PROD | |
Dev Indexing and Matching Algorithm UI | The UI through which the Solr indexing and matching algorithm processes can be initiated. | Yes | To be used to index records and generate matching algorithm reports. | |
Test | Test environment | Yes | Meant only for functionals and QA to test latest code. | |
Test ETL process UI | The UI through which ETL process can be initiated | Yes | To be used to load bib records from MarcXML files. | |
Test Solr | Solr Indexes | No | Will be blocked in TST/PROD | |
Test Indexing and Matching Algorithm UI | The UI through which the Solr indexing and matching algorithm processes can be initiated. | Yes | To be used to index records and generate matching algorithm reports. | |
Pre-Prod | QA environment | Yes | Regression/Automation before production deployment. | |
Prod | Production environment | Yes | Production. | |
DevOps | Dev Ops | No | Jenkins, FTP etc.. | |
UAT | http://uat-recap.htcinc.com:9090/search | UAT Environment | Yes | Meant for partners to conduct their User Acceptance Testing. |
Swagger UI | <Environment>:9094/swagger-ui.html Example: http://dev-recap.htcinc.com:9094/swagger-ui.html | The UI through which exposed REST APIs of ReCAP can be viewed and tested. | Yes | Meant to help all stake holders to test and use the REST APIs in their respective environments. |
Development Environment
The first thing a developer will need to do is to setup the development environment. It is common for developers to be working in different environments (Windows, Linux, Mac OS etc..) especially on open source projects and distributed teams. In order to set up a development environment which typically would involve installing softwares like Java, MySQL, tomcat, PHP etc, it can take up anywhere from hours to days depending on what all is required.
To minimize the effort and to ensure every developer is working with the same software versions (i.e development environment), we are going to use Docker Containers to install the "ReCAP Dev Environment".
Docker
Installation
In order to install Docker, please visit https://docs.docker.com and follow the instructions for your Operating System (Mac, Linux, Windows etc..)
Getting Started
Fork ReCAP SCSB Repository
You need to have a github account before you can do this. The main repo is at https://github.com/ResearchCollectionsAndPreservation/docker.
Once forked, clone the repository onto your local machine by following the steps below;
- Create a directory in your file system: mkdir recap-middleware
- git clone https://github.com/**username**/docker.git
Once the repository has been downloaded, change into the directory. You will see a folder called docker.
- cd docker
- cd dockerfile
- Run the following command to check if any existing containers are runnning and if so, stop and remove them
- docker ps -a
- docker ps -aq | xargs docker rm -f
- Deleting images
- docker rmi -f $(docker images -q)
- Building Dev Container Image from the Dockerfile
- docker build -t scsb-dev . - Here scsb-dev is the image name; you can name it whatever you like. The . indicates the current directory where the Dockerfile.
- Building ETL Container image
- docker build -t scsb-etl .
- Running the Dev Container
- docker run -i -t scsb-dev /bin/bash
- Running the ETL Container
- docker run -i -t scsb-etl /bin/bash