Page History
This documentation is meant to show how to set up your computer to test DSpace Github Pull Requests (PRs). PRs are codes including proposal for new features or bug corrections.
Warning | ||
---|---|---|
| ||
This page is still being contiously updated and improved. It is a work in progress. |
Getting ready
Step 1: Get all softwares
...
This operation is done once. It is must be done before beginning to install either DSpace Backend or Frontend.
Actions | Command line | Purpose | Software | ||
---|---|---|---|---|---|
GitHub CLI (gh) authentication |
| Git authentication using github credentials Needed to use Git command. If this is your first time using GitHub CLI (gh), you likely will need to authenticate with it using your GitHub.com login. | Git |
Also possible to use Git Bash:
...
- Cloning the GitHub repository
- Getting the DSPace Backend images from the Docker Registry
- Starting the Docker Backend Containers
Actions | Command line | Purpose | Software | ||
---|---|---|---|---|---|
Clone the backend codebase |
| Before cloning carefully select your parent folder. Getting all the files needed to run DSpace Backend. This downloads all the code from https://github.com/DSpace/DSpace into a local directory named "DSpace". | Git | ||
Start Docker Desktop | If it is not already running, start Docker Desktop on your machine. It MUST be running for any "docker-compose" or "docker" commands to work.
| Docker | |||
Pull down the latest backend images |
| Pull down the latest backend images from DockerHub. This downloads all the prebuilt Docker images so you don't need to rebuild them locally. | Docker commande line | ||
Start the Docker DSpace Backend Containers (& automatically install our Entities Test Data) |
| This command create the 3 Docker containers for the Backend (dspacedb for the database ; dspacesolr for the solr indexes ; dspace for the backend server ; angular for the frontend UI) and then start them up. Warning: dspacebd is the only Docker container that is not started automatiqualy (the 2 others, dspacesolr and dspace are) The backend will be started with the test data and can take a few minutes. It should be completed before moving to the next action. # Wait a few minutes until http://localhost:8080/server/ responds. | Docker commande line | ||
Download, install and reindex the test data assestore (of files) |
| Docker commande line | |||
Check system is up and running | DONE! At this point, you should be able to go to http://localhost:8080/server/ and see a backend similar to https://api7.dspace.org/server/
| Web browser (http://localhost:8080/server/ ) The Hal Browser page is displayed |
Installing Frontend
3 step process (details in table below):
- Cloning the GitHub repository
- Getting the DSpace FrontEnd images from the Docker Registry
- Starting the Docker DSpace Frontend Containers
Actions | Command line | Purpose | Software | ||
---|---|---|---|---|---|
Clone the frontend codebase |
| Getting all files needed to run DSpace frontend (Angular) First, clone the frontend codebase using GitHub CLI (gh). This downloads all the code from https://github.com/DSpace/dspace-angular to a local directory named "dspace-angular". You may wish to run this command from the same parent directory where you cloned the backend (just to keep this new "dspace-angular" folder next to the "DSpace" folder where the backend code resides). | Git | ||
Ensure Docker Desktop is running | If it is not already running, start Docker Desktop on your machine. It MUST be running for any "docker-compose" or "docker" commands to work. On Windows, if Docker Desktop is running, you'll see the Docker whale logo in your taskbar's notification area.Using Docker, pull down the latest frontend images from DockerHub. This downloads all the prebuilt Docker images so you don't need to rebuild them locally. | ||||
Pull down the latest frontend images |
| Using Docker, pull down the latest frontend images from DockerHub. This downloads all the prebuilt Docker images so you don't need to rebuild them locally. | Docker commande line | ||
Start Docker Container for DSpace frontend/UI |
| This command will create the Docker Container for the Frontend and then start it up. | Docker commande line | ||
Check UI is up and running |
| Web Browser (http://localhost:4000/) Dspace front page is displayed. |
Step 3: Ensure everything is up and running
...
If the PR needs a specific configuration, it can be change: recommandation is to use a local.cfg containing the config value for the test. i.e, if the feature change in the PR use emails, it is necessary to configure SMTP using you SMTP reference.
Testing the PR
Testing a Frontend PR | Testing a Backend PR | |
---|---|---|
Move to relevant directory | dspace-angular | DSpace |
Checkout the PR code | Find the number of the Pull Request
| Find the number of the Pull Request
|
Rebuild based on that PR's code | docker-compose -p d7 -f docker/docker-compose.yml build Note: Build duration (Angular): 3-4 minutes with a good bandwith/connexion This will create a new Docker Image including the PR code. | docker-compose -f docker-compose.yml -f docker-compose-cli.yml build Note: Build duration (backend): environ 5-10 minutes with a good bandwith/connexion This will create a new Docker Image including the PR code. |
Start services needed |
Run following command:
|
Run following command:
|
Once you are ready to check: open Dev tool of you prefered browser
...