Page History
...
First, clone the backend codebase using GitHub CLI (gh). This downloads all the code from https://github.com/DSpace/DSpace into a local directory named "DSpace".
Code Block # Run from command-line where ever you want the "DSpace" directory of code to be created. gh repo clone DSpace/DSpace # Once downloaded, change into that directory cd DSpace
- 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 backend images from DockerHub. This downloads all the prebuilt Docker images so you don't need to rebuild them locally.
Code Block # This command should be run from the "DSpace" code directory docker- compose -f docker-compose.yml -f docker-compose-cli.yml pull
Using Docker, start the Backend on Docker & automatically install our Entities Test Data
Code Block # First start the backend with the test data docker- compose -p d7 -f docker-compose.yml -f dspace/src/main/docker-compose/db.entities.yml up -d # Run "logs -f" to watch the logs for everything to start up. Or, just wait a few minutes until http://localhost:8080/server/ responds. docker- compose -p d7 -f docker-compose.yml -f dspace/src/main/docker-compose/db.entities.yml logs -f # (Click Ctrl+C to exit logs view) # Finally, download the test data assestore (of files) and install it, reindexing all content docker- compose -p d7 -f docker-compose-cli.yml -f dspace/src/main/docker-compose/cli.assetstore.yml run dspace-cli
- 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/
- You should also see some test data in that backend. For example, clicking on the "collections" endpoint should return some Collections: http://localhost:8080/server/#http://localhost:8080/server/api/core/collections
...
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).
Code Block # Run from command-line where ever you want the "dspace-angular" directory of code to be created. gh repo clone DSpace/dspace-angular # Once downloaded, change into that directory cd dspace-angular
- 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.
Code Block # This command should be run from the "dspace-angular" code directory docker- compose -f docker/docker-compose.yml pull
Using Docker, start the frontend/UI:
Code Block docker- compose -p d7 -f docker/docker-compose.yml up -d # Optionally run "logs -f" to watch the logs for everything to start up. docker- compose -p d7 -f docker/docker-compose.yml logs -f # (Click Ctrl+C to exit logs view)
- DONE! In a few minutes, the User Interface should be available at http://localhost:4000/ It should automatically be pointed at your Backend (also running on Docker)!
- Test it out by logging in using one of the demo accounts! Login: dspacedemo+admin@gmail.com , Password: dspace
...
These test instructions assume you are already running both the Frontend & Backend. If not, follow the instructions above, and then start them both:
Code Block # Start backend cd DSpace docker- compose -p d7 up -d # Start frontend cd ../dspace-angular docker- compose -p d7 -f docker/docker-compose.yml up -d
Move into the directory where your Frontend code is:
Code Block cd dspace-angular
Find the number of the Pull Request you want to test (it'll be the "#[number]" displayed after the PR name, or the end of the PR's URL). Checkout the code from that PR using it's number:
Code Block # This would checkout https://github.com/DSpace/dspace-angular/pull/1383 for testing gh pr checkout 1383
Now, rebuild & restart your frontend based on that PR's code:
Code Block docker- compose -p d7 -f docker/docker-compose.yml up -d --build # Even after the build completes, it may take a few minutes for the frontend to restart # You can check the status using "logs -f" docker- compose -p d7 -f docker/docker-compose.yml logs -f # (Click Ctrl+C to exit logs view)
- Now test the User Interface to see if the changes made in that PR look to work properly. The PR's description should describe how to test it and what you should see.
- If you notice any odd behavior, check for errors in the UI using your browser's DevTools. See Troubleshoot an error#FindingtheErrorMessageintheUserInterface
- Based on what you find, add a comment to the PR. If it works, congratulate the developer. If it doesn't, let them know the error you saw (and what you clicked on when that error occurred).
...
These test instructions assume you are already running both the Frontend & Backend. If not, follow the instructions above, and then start them both:
Code Block # Start backend cd DSpace docker- compose -p d7 up -d # Start frontend cd ../dspace-angular docker- compose -p d7 -f docker/docker-compose.yml up -d
First, move into the directory where your Backend code is
Code Block cd DSpace
Find the number of the Pull Request you want to test (it'll be the "#[number]" displayed after the PR name, or the end of the PR's URL). Checkout the code from that PR using it's number:
Code Block # This would checkout https://github.com/DSpace/DSpace/pull/8007 for testing gh pr checkout 8007
Now, rebuild & restart your backend based on that PR's code:
Code Block docker- compose -p d7 up -d --build # Even after the build completes, it may take a few minutes for the backend to restart # You can check the status using "logs -f" docker- compose -p d7 logs -f # (Click Ctrl+C to exit logs view)
- Now test the User Interface to see if the changes made in that PR look to work properly. If there was a corresponding UI PR, make sure you also follow the instructions in "Testing a Frontend PR" to install that PR as well.
- If you notice any odd behavior, check for errors in the UI using your browser's DevTools. See Troubleshoot an error#FindingtheErrorMessageintheUserInterface
- Based on what you find, add a comment to the PR. If it works, congratulate the developer. If it doesn't, let them know the error you saw (and what you clicked on when that error occurred).
...
Code Block |
---|
# Start backend cd DSpace docker- compose -p d7 up -d # Start frontend cd ../dspace-angular docker- compose -p d7 -f docker/docker-compose.yml up -d |
...
Code Block |
---|
# Stop the backend cd DSpace docker- compose -p d7 down # Stop the frontend cd ../dspace-angular docker- compose -p d7 -f docker/docker-compose.yml down |
...
Code Block |
---|
# Checkout the main code (from either frontend or backend directory) git checkout main # Pull down any latest changes git pull # Rebuild/restart the frontend or backend # For frontend: docker- compose -p d7 -f docker/docker-compose.yml up -d --build # For backend: docker- compose -p d7 up -d --build |
...